# HG changeset patch # User Christian Kamm # Date 1238939908 -7200 # Node ID 1546b5162152bc25310811f2cf18a9cc9509a9da # Parent 6c31351af0c55d352801701f60fc59ae0517625f Make sure -run doesn't consume the config file flags. diff -r 6c31351af0c5 -r 1546b5162152 gen/main.cpp --- 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 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) {