114 int len = strlen(arg);
131 int len = strlen(arg);
165 char *ptr = lpCmdLine;
170 int fp_cmp_len = (fileprefix) ? strlen(fileprefix) : 0;
184 while (*eos && (*eos !=
'"')) {
187 }
else if (isspace(*ptr)) {
193 while (*eos && !isspace(*eos)) {
203 bool was_file =
false;
206 if (fp_cmp_len && !strncmp(fileprefix, ptr, fp_cmp_len)) {
229 return(
Argc - origargc);
247 FILE *fp = fopen(fname,
"r");
251 const int maxstrlen = 255;
252 char string[maxstrlen + 1];
255 if (!fgets(
string, maxstrlen - 1, fp)) {
260 if ((*
string !=
'#') && (*
string !=
';')) {
262 string[maxstrlen - 1] =
'\0';
264 char *ptr =
string + (strlen(
string) - 1);
265 while (*ptr <=
' ') {
276 if (strlen(
string)) {
302 for (
int lp = 0; lp <
Argc; lp++) {
325 const char *ptr =
Find(arg);
348 if (val_in_next) *val_in_next =
false;
354 if (strlen(ptr) < prefixlen) {
361 while (*ptr && !isgraph(*ptr)) {
376 if (val_in_next) *val_in_next =
true;
static int Init(char *lpCmdLine, char *fileprefix="@")
static bool Load_File(const char *fname)
const char * Get_Cur_Value(unsigned prefixlen, bool *val_in_next=0)
void Case_Sensitive(bool on)
void Update_Value(const char *attrib, const char *value)
const char * Find_Value(const char *arg)
static char * Argv[MAX_ARGC]
bool Remove_Value(const char *attrib)
const char * Find(const char *arg)
void Add_Value(const char *attrib, const char *value=NULL)
const char * Find_Again(const char *arg=0L)
ArgvClass(bool case_sensitive=false, bool exact_size=false)