diff options
| author | Max Horn | 2012-01-28 01:15:49 +0100 |
|---|---|---|
| committer | Max Horn | 2012-02-15 16:51:37 +0100 |
| commit | 658080deeda79d20ea40643569fbcb072573e7cf (patch) | |
| tree | d604bf668909a6db44a1ec83e7c51088a5d85592 /engines/agos | |
| parent | 37e5b209a71af725456a42be2605dea28ffceb84 (diff) | |
| download | scummvm-rg350-658080deeda79d20ea40643569fbcb072573e7cf.tar.gz scummvm-rg350-658080deeda79d20ea40643569fbcb072573e7cf.tar.bz2 scummvm-rg350-658080deeda79d20ea40643569fbcb072573e7cf.zip | |
ALL: Avoid using is* macros from ctype.h
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
Diffstat (limited to 'engines/agos')
| -rw-r--r-- | engines/agos/script_pn.cpp | 8 | ||||
| -rw-r--r-- | engines/agos/string.cpp | 2 | ||||
| -rw-r--r-- | engines/agos/string_pn.cpp | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/engines/agos/script_pn.cpp b/engines/agos/script_pn.cpp index 196350b9bf..70540343ed 100644 --- a/engines/agos/script_pn.cpp +++ b/engines/agos/script_pn.cpp @@ -466,8 +466,8 @@ void AGOSEngine_PN::opn_opcode35() { void AGOSEngine_PN::opn_opcode36() { for (int i = 0; i < _dataBase[57] + 1; ++i) _wordcp[i] = 0; - if (isspace(static_cast<unsigned char>(*_inpp))) - while ((*_inpp) && (isspace(static_cast<unsigned char>(*_inpp)))) + if (isSpace(*_inpp)) + while ((*_inpp) && (isSpace(*_inpp))) _inpp++; if (*_inpp == 0) { setScriptReturn(false); @@ -481,7 +481,7 @@ void AGOSEngine_PN::opn_opcode36() { } int ct = 1; - while ((*_inpp != '.') && (*_inpp != ',') && (!isspace(static_cast<unsigned char>(*_inpp))) && (*_inpp != '\0') && + while ((*_inpp != '.') && (*_inpp != ',') && (!isSpace(*_inpp)) && (*_inpp != '\0') && (*_inpp!='"')) { if (ct < _dataBase[57]) _wordcp[ct++] = *_inpp; @@ -581,7 +581,7 @@ void AGOSEngine_PN::opn_opcode46() { return; } x++; - while ((*x != '.') && (*x != ',') && (*x != '"') && (!isspace(static_cast<unsigned char>(*x))) && (*x != '\0')) + while ((*x != '.') && (*x != ',') && (*x != '"') && (!isSpace(*x)) && (*x != '\0')) pcf(*x++); setScriptReturn(true); } diff --git a/engines/agos/string.cpp b/engines/agos/string.cpp index 410fd5a1ce..4298ff6155 100644 --- a/engines/agos/string.cpp +++ b/engines/agos/string.cpp @@ -152,7 +152,7 @@ const byte *AGOSEngine::getStringPtrByID(uint16 stringId, bool upperCase) { } if (upperCase && *dst) { - if (islower(*dst)) + if (isLower(*dst)) *dst = toupper(*dst); } diff --git a/engines/agos/string_pn.cpp b/engines/agos/string_pn.cpp index ac8c263da3..8f31da6f58 100644 --- a/engines/agos/string_pn.cpp +++ b/engines/agos/string_pn.cpp @@ -137,7 +137,7 @@ void AGOSEngine_PN::pcf(uint8 ch) { if ((ch != 32) || (_bp + _xofs != 50)) _buffer[_bp++] = ch; } - if ((ch != 254) && (!isspace(ch)) && (_bp < 60)) + if ((ch != 254) && (!isSpace(ch)) && (_bp < 60)) return; /* We know have a case of needing to print the text */ if (_bp + _xofs > 50) { |
