void CmdLineExpander::BuildCmdLineParameters (const VectorKKStr& argv) { kkuint32 x = 0; while (x < argv.size ()) { KKStr s = argv[x]; x++; KKStr sUpper = s.ToUpper(); if ((sUpper == "-L") || (sUpper == "-LOGFILE")) { if (x < argv.size ()) { if (argv[x][(kkint16)0] != '-') { logFileName = argv[x]; if (!logFileName.Empty ()) log.AttachFile (logFileName); x++; } } if (logFileName.Empty ()) { log.Level (-1) << std::endl << std::endl; log.Level (-1) << applicationName << " - Invalid Log File Parameter (-L)." << endl; log.Level (-1) << " Name of log file required." << endl; log.Level (-1) << endl; parmsGood = false; } } else if (sUpper == "-CMDFILE") { KKStr cmdFileName = ""; if (x < argv.size ()) { if (argv[x][(kkint16)0] != '-') { cmdFileName = argv[x]; x++; } } if (cmdFileName.Empty ()) { log.Level (-1) << endl << endl << endl << applicationName << " " << "BuildCmdLineParameters *** ERROR ***" << endl << endl << "-CMDFILE option did not define a file name." << endl << endl; parmsGood = false; } else { if (FileInStack (cmdFileName, cmdFileStack)) { log.Level (-1) << endl << endl << endl << applicationName << " BuildCmdLineParameters *** ERROR ***" << endl << endl << "-CMDFILE [" << cmdFileName << "] is being called recursively." << endl << endl; parmsGood = false; } else { bool validFile = true; cmdFileStack.push_back (cmdFileName); VectorKKStr cmdFileParameters; ExtractParametersFromFile (cmdFileName, cmdFileParameters, validFile); BuildCmdLineParameters (cmdFileParameters); cmdFileStack.pop_back (); if (!validFile) parmsGood = false; } } } else { expandedParameters.push_back (s); } } } /* BuildCmdLineParameters */