Fixed bugs in batch file execution.

svn path=/trunk/; revision=496
This commit is contained in:
Eric Kohl 1999-05-21 00:52:38 +00:00
parent d22c45fab2
commit 42dfa65049
7 changed files with 26 additions and 9 deletions

View file

@ -60,7 +60,7 @@ static VOID
partstrlwr (LPTSTR str) partstrlwr (LPTSTR str)
{ {
LPTSTR c = str; LPTSTR c = str;
while (*c && !_istspace (*c)) while (*c && !_istspace (*c) && *c != _T('='))
{ {
*c = _totlower (*c); *c = _totlower (*c);
c++; c++;

View file

@ -76,6 +76,10 @@ INT cmd_path (LPTSTR cmd, LPTSTR param)
return 0; return 0;
} }
/* skip leading '=' */
if (*param == _T('='))
param++;
/* set PATH environment variable */ /* set PATH environment variable */
if (!SetEnvironmentVariable (_T("PATH"), param)) if (!SetEnvironmentVariable (_T("PATH"), param))
return 1; return 1;

View file

@ -71,7 +71,7 @@ INT GetRedirection (LPTSTR s, LPTSTR ifn, LPTSTR ofn, LPTSTR efn, LPINT lpnFlags
do do
*dp++ = *sp++; *dp++ = *sp++;
while (*sp != qc); while (*sp && *sp != qc);
*dp++ = *sp++; *dp++ = *sp++;
} }
@ -197,13 +197,13 @@ INT GetRedirection (LPTSTR s, LPTSTR ifn, LPTSTR ofn, LPTSTR efn, LPINT lpnFlags
do do
sp++; sp++;
while (*sp != qc); while (*sp && *sp != qc);
sp++; sp++;
} }
else if (*sp == _T('|')) else if (*sp == _T('|'))
{ {
*sp++ = '\0'; *sp++ = _T('\0');
num++; num++;
} }
else else

View file

@ -60,7 +60,7 @@ static VOID
partstrlwr (LPTSTR str) partstrlwr (LPTSTR str)
{ {
LPTSTR c = str; LPTSTR c = str;
while (*c && !_istspace (*c)) while (*c && !_istspace (*c) && *c != _T('='))
{ {
*c = _totlower (*c); *c = _totlower (*c);
c++; c++;

View file

@ -944,6 +944,16 @@ static VOID Initialize (int argc, char *argv[])
if (argv) if (argv)
SetEnvironmentVariable (_T("COMSPEC"), argv[0]); SetEnvironmentVariable (_T("COMSPEC"), argv[0]);
#endif #endif
ConOutPrintf("argc: %d\n", argc);
if (!argv)
{
ConOutPrintf("argc is NULL\n");
}
else
{
}
/* add ctrl handler */ /* add ctrl handler */
#if 0 #if 0
@ -998,5 +1008,4 @@ int main (int argc, char *argv[])
FreeConsole (); FreeConsole ();
return nExitCode; return nExitCode;
// return 0;
} }

View file

@ -76,6 +76,10 @@ INT cmd_path (LPTSTR cmd, LPTSTR param)
return 0; return 0;
} }
/* skip leading '=' */
if (*param == _T('='))
param++;
/* set PATH environment variable */ /* set PATH environment variable */
if (!SetEnvironmentVariable (_T("PATH"), param)) if (!SetEnvironmentVariable (_T("PATH"), param))
return 1; return 1;

View file

@ -71,7 +71,7 @@ INT GetRedirection (LPTSTR s, LPTSTR ifn, LPTSTR ofn, LPTSTR efn, LPINT lpnFlags
do do
*dp++ = *sp++; *dp++ = *sp++;
while (*sp != qc); while (*sp && *sp != qc);
*dp++ = *sp++; *dp++ = *sp++;
} }
@ -197,13 +197,13 @@ INT GetRedirection (LPTSTR s, LPTSTR ifn, LPTSTR ofn, LPTSTR efn, LPINT lpnFlags
do do
sp++; sp++;
while (*sp != qc); while (*sp && *sp != qc);
sp++; sp++;
} }
else if (*sp == _T('|')) else if (*sp == _T('|'))
{ {
*sp++ = '\0'; *sp++ = _T('\0');
num++; num++;
} }
else else