aboutsummaryrefslogtreecommitdiff
path: root/common/util.cpp
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2012-02-21 11:33:32 -0800
committerWillem Jan Palenstijn2012-02-21 11:33:32 -0800
commit9ffe3e11d905b5af194dd3265e2fe11545bf5020 (patch)
treef9fb97d7eb2368d0123aa3bd9d91c560cded3315 /common/util.cpp
parent80b34398174973b6d70673fce94a8a1f670c3f4d (diff)
parent02ebd552141173775b9462f4414083d3b8d49a80 (diff)
downloadscummvm-rg350-9ffe3e11d905b5af194dd3265e2fe11545bf5020.tar.gz
scummvm-rg350-9ffe3e11d905b5af194dd3265e2fe11545bf5020.tar.bz2
scummvm-rg350-9ffe3e11d905b5af194dd3265e2fe11545bf5020.zip
Merge pull request #182 from fingolfin/forbid-ctype
ALL: Avoid using is* macros from ctype.h
Diffstat (limited to 'common/util.cpp')
-rw-r--r--common/util.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/common/util.cpp b/common/util.cpp
index 1c4df8b6cd..3f97308d8e 100644
--- a/common/util.cpp
+++ b/common/util.cpp
@@ -19,6 +19,15 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#define FORBIDDEN_SYMBOL_EXCEPTION_isalnum
+#define FORBIDDEN_SYMBOL_EXCEPTION_isalpha
+#define FORBIDDEN_SYMBOL_EXCEPTION_isdigit
+#define FORBIDDEN_SYMBOL_EXCEPTION_isnumber
+#define FORBIDDEN_SYMBOL_EXCEPTION_islower
+#define FORBIDDEN_SYMBOL_EXCEPTION_isspace
+#define FORBIDDEN_SYMBOL_EXCEPTION_isupper
+
+
#include "common/util.h"
#include "common/translation.h"
#include "common/config-manager.h"
@@ -406,4 +415,38 @@ void updateGameGUIOptions(const String &options, const String &langOption) {
}
}
+#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);
+}
+
} // End of namespace Common