changeset 1197:1546b5162152

Make sure -run doesn't consume the config file flags.
author Christian Kamm <kamm incasoftware de>
date Sun, 05 Apr 2009 15:58:28 +0200
parents 6c31351af0c5
children f48500f9350c
files gen/main.cpp
diffstat 1 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/gen/main.cpp	Sun Apr 05 15:02:44 2009 +0200
+++ b/gen/main.cpp	Sun Apr 05 15:58:28 2009 +0200
@@ -163,8 +163,11 @@
     std::vector<const char*> final_args;
     final_args.reserve(argc);
 
-    // insert argc + DFLAGS
-    final_args.insert(final_args.end(), &argv[0], &argv[argc]);
+    // insert command line args until -run is reached
+    int run_argnum = 1;
+    while (run_argnum < argc && strncmp(argv[run_argnum], "-run", 4) != 0)
+        ++run_argnum;
+    final_args.insert(final_args.end(), &argv[0], &argv[run_argnum]);
 
     // read the configuration file
     ConfigFile cfg_file;
@@ -181,6 +184,9 @@
     // insert config file additions to the argument list
     final_args.insert(final_args.end(), cfg_file.switches_begin(), cfg_file.switches_end());
 
+    // insert -run and everything beyond
+    final_args.insert(final_args.end(), &argv[run_argnum], &argv[argc]);
+
 #if 0
     for (size_t i = 0; i < final_args.size(); ++i)
     {