diff --git a/reactos/apps/utils/cmd/alias.c b/reactos/apps/utils/cmd/alias.c index 5f2d520bb0f..38c4372f9ae 100644 --- a/reactos/apps/utils/cmd/alias.c +++ b/reactos/apps/utils/cmd/alias.c @@ -60,7 +60,7 @@ static VOID partstrlwr (LPTSTR str) { LPTSTR c = str; - while (*c && !_istspace (*c)) + while (*c && !_istspace (*c) && *c != _T('=')) { *c = _totlower (*c); c++; diff --git a/reactos/apps/utils/cmd/path.c b/reactos/apps/utils/cmd/path.c index 68e2fe6f5eb..39e9309bd45 100644 --- a/reactos/apps/utils/cmd/path.c +++ b/reactos/apps/utils/cmd/path.c @@ -76,6 +76,10 @@ INT cmd_path (LPTSTR cmd, LPTSTR param) return 0; } + /* skip leading '=' */ + if (*param == _T('=')) + param++; + /* set PATH environment variable */ if (!SetEnvironmentVariable (_T("PATH"), param)) return 1; diff --git a/reactos/apps/utils/cmd/redir.c b/reactos/apps/utils/cmd/redir.c index ffca9de9e77..4684f5cfa23 100644 --- a/reactos/apps/utils/cmd/redir.c +++ b/reactos/apps/utils/cmd/redir.c @@ -71,7 +71,7 @@ INT GetRedirection (LPTSTR s, LPTSTR ifn, LPTSTR ofn, LPTSTR efn, LPINT lpnFlags do *dp++ = *sp++; - while (*sp != qc); + while (*sp && *sp != qc); *dp++ = *sp++; } @@ -197,13 +197,13 @@ INT GetRedirection (LPTSTR s, LPTSTR ifn, LPTSTR ofn, LPTSTR efn, LPINT lpnFlags do sp++; - while (*sp != qc); + while (*sp && *sp != qc); sp++; } else if (*sp == _T('|')) { - *sp++ = '\0'; + *sp++ = _T('\0'); num++; } else diff --git a/rosapps/cmd/alias.c b/rosapps/cmd/alias.c index 5f2d520bb0f..38c4372f9ae 100644 --- a/rosapps/cmd/alias.c +++ b/rosapps/cmd/alias.c @@ -60,7 +60,7 @@ static VOID partstrlwr (LPTSTR str) { LPTSTR c = str; - while (*c && !_istspace (*c)) + while (*c && !_istspace (*c) && *c != _T('=')) { *c = _totlower (*c); c++; diff --git a/rosapps/cmd/cmd.c b/rosapps/cmd/cmd.c index 3d928b32d7a..e25c8bd6d24 100644 --- a/rosapps/cmd/cmd.c +++ b/rosapps/cmd/cmd.c @@ -944,6 +944,16 @@ static VOID Initialize (int argc, char *argv[]) if (argv) SetEnvironmentVariable (_T("COMSPEC"), argv[0]); #endif + ConOutPrintf("argc: %d\n", argc); + if (!argv) + { + ConOutPrintf("argc is NULL\n"); + } + else + { + + } + /* add ctrl handler */ #if 0 @@ -998,5 +1008,4 @@ int main (int argc, char *argv[]) FreeConsole (); return nExitCode; -// return 0; } diff --git a/rosapps/cmd/path.c b/rosapps/cmd/path.c index 68e2fe6f5eb..39e9309bd45 100644 --- a/rosapps/cmd/path.c +++ b/rosapps/cmd/path.c @@ -76,6 +76,10 @@ INT cmd_path (LPTSTR cmd, LPTSTR param) return 0; } + /* skip leading '=' */ + if (*param == _T('=')) + param++; + /* set PATH environment variable */ if (!SetEnvironmentVariable (_T("PATH"), param)) return 1; diff --git a/rosapps/cmd/redir.c b/rosapps/cmd/redir.c index ffca9de9e77..4684f5cfa23 100644 --- a/rosapps/cmd/redir.c +++ b/rosapps/cmd/redir.c @@ -71,7 +71,7 @@ INT GetRedirection (LPTSTR s, LPTSTR ifn, LPTSTR ofn, LPTSTR efn, LPINT lpnFlags do *dp++ = *sp++; - while (*sp != qc); + while (*sp && *sp != qc); *dp++ = *sp++; } @@ -197,13 +197,13 @@ INT GetRedirection (LPTSTR s, LPTSTR ifn, LPTSTR ofn, LPTSTR efn, LPINT lpnFlags do sp++; - while (*sp != qc); + while (*sp && *sp != qc); sp++; } else if (*sp == _T('|')) { - *sp++ = '\0'; + *sp++ = _T('\0'); num++; } else