const char *tmpdir;
char **nargv, **ap, *editor, *cp;
char buf[BUFSIZ];
- int error, i, ac, ofd, tfd, nargc, rval, tmplen;
+ int error, i, ac, ofd, tfd, nargc, rval, tmplen, wasblank;
sigaction_t sa;
struct stat sb;
struct timespec ts1, ts2;
* line args so look for those and alloc space for them too.
*/
nargc = argc;
- for (cp = editor + 1; *cp != '\0'; cp++) {
- if (isblank((unsigned char)cp[0]) && !isblank((unsigned char)cp[-1]))
+ for (wasblank = FALSE, cp = editor; *cp != '\0'; cp++) {
+ if (isblank((unsigned char) *cp))
+ wasblank = TRUE;
+ else if (wasblank) {
+ wasblank = FALSE;
nargc++;
+ }
}
nargv = (char **) emalloc2(nargc + 1, sizeof(char *));
ac = 0;
/* Find the length of the argument vector */
ac = 3 + (lineno > 0);
if (args) {
- int wasspace;
+ int wasblank;
ac++;
- for (wasspace = FALSE, cp = args; *cp; cp++) {
- if (isspace((unsigned char) *cp))
- wasspace = TRUE;
- else if (wasspace) {
- wasspace = FALSE;
+ for (wasblank = FALSE, cp = args; *cp; cp++) {
+ if (isblank((unsigned char) *cp))
+ wasblank = TRUE;
+ else if (wasblank) {
+ wasblank = FALSE;
ac++;
}
}
char *args;
args = cmnd;
- while (*args && !isspace((unsigned char) *args))
+ while (*args && !isblank((unsigned char) *args))
args++;
if (*args) {
*args++ = '\0';
- while (*args && isspace((unsigned char) *args))
+ while (*args && isblank((unsigned char) *args))
args++;
}
return(*args ? args : NULL);