--- ray/src/common/popen.c 1992/09/08 09:08:02 2.1 +++ ray/src/common/popen.c 1992/09/21 12:02:16 2.2 @@ -43,13 +43,20 @@ char *mode; /* build our command */ for (cp = newcmd; ; cmd++) { switch (*cmd) { - case '"': case '\'': + case '"': if (!quote) quote = *cmd; else if (quote == *cmd) quote = '\0'; +#ifdef MSDOS + else + break; + *cp++ = '"'; /* double quotes only */ + continue; +#else break; +#endif case '(': if (!quote) paren++; @@ -65,6 +72,12 @@ char *mode; continue; } *cp++ = *cmd++; + break; + case ' ': + case '\t': + if (!quote) + while (isspace(cmd[1])) + cmd++; break; case '|': case ';':