ash: cleanup part 3

This commit is contained in:
Denis Vlasenko
2007-02-23 01:04:37 +00:00
parent aa74445514
commit 9650f36210

View File

@@ -1190,9 +1190,9 @@ varcmp(const char *p, const char *q)
q++; q++;
} }
if (c == '=') if (c == '=')
c = 0; c = '\0';
if (d == '=') if (d == '=')
d = 0; d = '\0';
out: out:
return c - d; return c - d;
} }
@@ -1469,7 +1469,8 @@ listsetvar(struct strlist *list_set_var, int flags)
INT_OFF; INT_OFF;
do { do {
setvareq(lp->text, flags); setvareq(lp->text, flags);
} while ((lp = lp->next)); lp = lp->next;
} while (lp);
INT_ON; INT_ON;
} }
@@ -3790,7 +3791,8 @@ parse_command_args(char **argv, const char **path)
/* run 'typecmd' for other options */ /* run 'typecmd' for other options */
return 0; return 0;
} }
} while ((c = *cp++)); c = *cp++;
} while (c);
} }
return argv; return argv;
} }
@@ -6025,49 +6027,51 @@ ifsbreakup(char *string, struct arglist *arglist)
q = p; q = p;
if (*p == CTLESC) if (*p == CTLESC)
p++; p++;
if (strchr(ifs, *p)) { if (!strchr(ifs, *p)) {
if (!nulonly)
ifsspc = (strchr(defifs, *p) != NULL);
/* Ignore IFS whitespace at start */
if (q == start && ifsspc) {
p++;
start = p;
continue;
}
*q = '\0';
sp = stalloc(sizeof(*sp));
sp->text = start;
*arglist->lastp = sp;
arglist->lastp = &sp->next;
p++; p++;
if (!nulonly) { continue;
for (;;) { }
if (p >= string + ifsp->endoff) { if (!nulonly)
break; ifsspc = (strchr(defifs, *p) != NULL);
} /* Ignore IFS whitespace at start */
q = p; if (q == start && ifsspc) {
if (*p == CTLESC) p++;
start = p;
continue;
}
*q = '\0';
sp = stalloc(sizeof(*sp));
sp->text = start;
*arglist->lastp = sp;
arglist->lastp = &sp->next;
p++;
if (!nulonly) {
for (;;) {
if (p >= string + ifsp->endoff) {
break;
}
q = p;
if (*p == CTLESC)
p++;
if (strchr(ifs, *p) == NULL ) {
p = q;
break;
} else if (strchr(defifs, *p) == NULL) {
if (ifsspc) {
p++; p++;
if (strchr(ifs, *p) == NULL ) { ifsspc = 0;
} else {
p = q; p = q;
break; break;
} else if (strchr(defifs, *p) == NULL) { }
if (ifsspc) { } else
p++; p++;
ifsspc = 0;
} else {
p = q;
break;
}
} else
p++;
}
} }
start = p; }
} else start = p;
p++; } /* while */
} ifsp = ifsp->next;
} while ((ifsp = ifsp->next) != NULL); } while (ifsp != NULL);
if (nulonly) if (nulonly)
goto add; goto add;
} }