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