aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/util.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/common/util.cpp b/common/util.cpp
index e605a267d5..3f97308d8e 100644
--- a/common/util.cpp
+++ b/common/util.cpp
@@ -415,32 +415,37 @@ void updateGameGUIOptions(const String &options, const String &langOption) {
}
}
-//
-// TODO: Instead of a blind cast, we might want to verify
-// if c equals EOS; and/or is in the range -255..+255;
-// and return false if it isn't.
-//
+#define ENSURE_ASCII_CHAR(c) \
+ if (c < 0 || c > 127) \
+ return false
+
bool isAlnum(int c) {
+ ENSURE_ASCII_CHAR(c);
return isalnum((byte)c);
}
bool isAlpha(int c) {
+ ENSURE_ASCII_CHAR(c);
return isalpha((byte)c);
}
bool isDigit(int c) {
+ ENSURE_ASCII_CHAR(c);
return isdigit((byte)c);
}
bool isLower(int c) {
+ ENSURE_ASCII_CHAR(c);
return islower((byte)c);
}
bool isSpace(int c) {
+ ENSURE_ASCII_CHAR(c);
return isspace((byte)c);
}
bool isUpper(int c) {
+ ENSURE_ASCII_CHAR(c);
return isupper((byte)c);
}