From 4dddbf7bed32b2616da0c5ef1a9666c4d876c5e2 Mon Sep 17 00:00:00 2001 From: Jason Hiser <jdhiser@gmail.com> Date: Wed, 13 Mar 2019 11:00:13 -0400 Subject: [PATCH] fixed arg parsing snafus. --- builtin_xforms/move_globals/mg_driver.cpp | 27 +++------------------- builtin_xforms/p1transform/PNMain.cpp | 4 ++-- irdb-libs/ir_builders/fill_in_cfg.cpp | 2 +- irdb-libs/ir_builders/fill_in_indtargs.cpp | 2 +- irdb-libs/ir_builders/fix_calls.cpp | 2 +- 5 files changed, 8 insertions(+), 29 deletions(-) diff --git a/builtin_xforms/move_globals/mg_driver.cpp b/builtin_xforms/move_globals/mg_driver.cpp index 36a934679..37033c7ef 100644 --- a/builtin_xforms/move_globals/mg_driver.cpp +++ b/builtin_xforms/move_globals/mg_driver.cpp @@ -52,29 +52,9 @@ bool use_stars=true; int parseArgs(const vector<string> step_args) { - auto argv = vector<char*>(); + auto argv = vector<char*>({const_cast<char*>("libmove_globals.so")}); transform(ALLOF(step_args), back_inserter(argv), [](const string &s) -> char* { return const_cast<char*>(s.c_str()); } ); - const auto argc = step_args.size(); - - /* - * Check that we've been called correctly: - * <program> <variant id> <annotation file> - */ -#if 0 - if(argc < 1) - { - usage(programName); - return 2; - } -#endif -#if 0 - variantID = strtol(step_args[0].c_str(), &strtolError, 10); - if (*strtolError != '\0') - { - cerr << "Invalid variantID: " << step_args[0] << endl; - return 1; - } -#endif + const auto argc = argv.size(); // Parse some options for the transform const static struct option long_options[] = { @@ -96,8 +76,7 @@ int parseArgs(const vector<string> step_args) auto short_opts="b:oh?m:d:n:aAst"; while(1) { - int index = 0; - int c = getopt_long(argc, &argv[0], short_opts, long_options, &index); + int c = getopt_long(argc, &argv[0], short_opts, long_options, nullptr); if (c == -1) break; switch(c) { diff --git a/builtin_xforms/p1transform/PNMain.cpp b/builtin_xforms/p1transform/PNMain.cpp index 83051da00..1f237bf37 100644 --- a/builtin_xforms/p1transform/PNMain.cpp +++ b/builtin_xforms/p1transform/PNMain.cpp @@ -249,9 +249,9 @@ std::string getStepName(void) const override int parseArgs(const vector<string> step_args) { - auto argv = vector<char*>(); + auto argv = vector<char*>({const_cast<char*>("libp1transform.so")}); transform(ALLOF(step_args), back_inserter(argv), [](const string &s) -> char* { return const_cast<char*>(s.c_str()); } ); - const auto argc=step_args.size(); + const auto argc=argv.size(); //Set the verbose flag diff --git a/irdb-libs/ir_builders/fill_in_cfg.cpp b/irdb-libs/ir_builders/fill_in_cfg.cpp index 0cc9c3220..1b2f3965a 100644 --- a/irdb-libs/ir_builders/fill_in_cfg.cpp +++ b/irdb-libs/ir_builders/fill_in_cfg.cpp @@ -649,7 +649,7 @@ int PopulateCFG::parseArgs(const vector<string> step_args) // variant_id = stoi(step_args[0]); - for (unsigned int i = 1; i < step_args.size(); ++i) + for (auto i = 0u; i < step_args.size(); ++i) { if (step_args[i]=="--fix-landing-pads") { diff --git a/irdb-libs/ir_builders/fill_in_indtargs.cpp b/irdb-libs/ir_builders/fill_in_indtargs.cpp index b75b87967..e843e6eb1 100644 --- a/irdb-libs/ir_builders/fill_in_indtargs.cpp +++ b/irdb-libs/ir_builders/fill_in_indtargs.cpp @@ -3599,7 +3599,7 @@ int parseArgs(const vector<string> step_args) cout<<"Parsing parameters with argc= " << step_args.size()<<endl; // parse dash-style options. - unsigned int argc_iter = 1; + auto argc_iter = 0u; while(argc_iter < step_args.size() && step_args[argc_iter][0]=='-') { cout<<"Parsing parameter: "<< step_args[argc_iter] << endl; diff --git a/irdb-libs/ir_builders/fix_calls.cpp b/irdb-libs/ir_builders/fix_calls.cpp index 5fd6a66dd..f9b24351e 100644 --- a/irdb-libs/ir_builders/fix_calls.cpp +++ b/irdb-libs/ir_builders/fix_calls.cpp @@ -965,7 +965,7 @@ int parseArgs(const vector<string> step_args) } #endif - for(unsigned int argc_iter=1; argc_iter<step_args.size(); argc_iter++) + for(auto argc_iter=0u; argc_iter<step_args.size(); argc_iter++) { if("--fix-all"==step_args[argc_iter]) { -- GitLab