- fixed: The command line parser of the console was incapable of handling non-ASCII characters.

This commit is contained in:
Christoph Oelckers 2019-03-11 00:26:37 +01:00
parent 4532c2c489
commit 02836b3c3f
2 changed files with 5 additions and 5 deletions

View file

@ -563,7 +563,7 @@ void C_DoCommand (const char *cmd, int keynum)
const char *beg; const char *beg;
// Skip any beginning whitespace // Skip any beginning whitespace
while (*cmd && *cmd <= ' ') while (*cmd > 0 && *cmd <= ' ')
cmd++; cmd++;
// Find end of the command name // Find end of the command name
@ -575,7 +575,7 @@ void C_DoCommand (const char *cmd, int keynum)
else else
{ {
beg = cmd; beg = cmd;
for (end = cmd+1; *end > ' '; ++end) for (end = cmd+1; *end > ' ' || *end < 0; ++end)
; ;
} }
@ -728,7 +728,7 @@ void AddCommandString (const char *text, int keynum)
more = 0; more = 0;
} }
// Intercept wait commands here. Note: wait must be lowercase // Intercept wait commands here. Note: wait must be lowercase
while (*cmd && *cmd <= ' ') while (*cmd > 0 && *cmd <= ' ')
cmd++; cmd++;
if (*cmd) if (*cmd)
{ {

View file

@ -828,12 +828,12 @@ void FString::StripLeftRight ()
if (max == 0) return; if (max == 0) return;
for (i = 0; i < max; ++i) for (i = 0; i < max; ++i)
{ {
if (!isspace((unsigned char)Chars[i])) if (Chars[i] < 0 || !isspace((unsigned char)Chars[i]))
break; break;
} }
for (j = max - 1; j >= i; --j) for (j = max - 1; j >= i; --j)
{ {
if (!isspace((unsigned char)Chars[j])) if (Chars[i] < 0 || !isspace((unsigned char)Chars[j]))
break; break;
} }
if (i == 0 && j == max - 1) if (i == 0 && j == max - 1)