forked from OSchip/llvm-project
Make OptionParser::Parse() take StringRef.
llvm-svn: 286747
This commit is contained in:
parent
706d897d8a
commit
e706c1d9d9
|
@ -13,6 +13,8 @@
|
|||
#include <mutex>
|
||||
#include <string>
|
||||
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
|
||||
struct option;
|
||||
|
||||
namespace lldb_private {
|
||||
|
@ -36,7 +38,7 @@ public:
|
|||
|
||||
static void EnableError(bool error);
|
||||
|
||||
static int Parse(int argc, char *const argv[], const char *optstring,
|
||||
static int Parse(int argc, char *const argv[], llvm::StringRef optstring,
|
||||
const Option *longopts, int *longindex);
|
||||
|
||||
static char *GetOptionArgument();
|
||||
|
|
|
@ -28,7 +28,7 @@ void OptionParser::Prepare(std::unique_lock<std::mutex> &lock) {
|
|||
|
||||
void OptionParser::EnableError(bool error) { opterr = error ? 1 : 0; }
|
||||
|
||||
int OptionParser::Parse(int argc, char *const argv[], const char *optstring,
|
||||
int OptionParser::Parse(int argc, char *const argv[], llvm::StringRef optstring,
|
||||
const Option *longopts, int *longindex) {
|
||||
std::vector<option> opts;
|
||||
while (longopts->definition != nullptr) {
|
||||
|
@ -41,7 +41,8 @@ int OptionParser::Parse(int argc, char *const argv[], const char *optstring,
|
|||
++longopts;
|
||||
}
|
||||
opts.push_back(option());
|
||||
return getopt_long_only(argc, argv, optstring, &opts[0], longindex);
|
||||
std::string opt_cstr = optstring;
|
||||
return getopt_long_only(argc, argv, opt_cstr.c_str(), &opts[0], longindex);
|
||||
}
|
||||
|
||||
char *OptionParser::GetOptionArgument() { return optarg; }
|
||||
|
|
|
@ -457,9 +457,9 @@ Error Args::ParseOptions(Options &options, ExecutionContext *execution_context,
|
|||
int val;
|
||||
while (1) {
|
||||
int long_options_index = -1;
|
||||
val =
|
||||
OptionParser::Parse(GetArgumentCount(), GetArgumentVector(),
|
||||
sstr.GetData(), long_options, &long_options_index);
|
||||
val = OptionParser::Parse(GetArgumentCount(), GetArgumentVector(),
|
||||
sstr.GetString(), long_options,
|
||||
&long_options_index);
|
||||
if (val == -1)
|
||||
break;
|
||||
|
||||
|
@ -1175,9 +1175,9 @@ void Args::ParseArgsForCompletion(Options &options,
|
|||
bool missing_argument = false;
|
||||
int long_options_index = -1;
|
||||
|
||||
val =
|
||||
OptionParser::Parse(dummy_vec.size() - 1, &dummy_vec[0], sstr.GetData(),
|
||||
long_options, &long_options_index);
|
||||
val = OptionParser::Parse(dummy_vec.size() - 1, &dummy_vec[0],
|
||||
sstr.GetString(), long_options,
|
||||
&long_options_index);
|
||||
|
||||
if (val == -1) {
|
||||
// When we're completing a "--" which is the last option on line,
|
||||
|
|
Loading…
Reference in New Issue