diff options
Diffstat (limited to 'devtools/create_kyradat')
-rw-r--r-- | devtools/create_kyradat/module.mk | 3 | ||||
-rw-r--r-- | devtools/create_kyradat/util.cpp | 13 | ||||
-rw-r--r-- | devtools/create_kyradat/util.h | 1 |
3 files changed, 14 insertions, 3 deletions
diff --git a/devtools/create_kyradat/module.mk b/devtools/create_kyradat/module.mk index 4241f82e34..fb458b43ff 100644 --- a/devtools/create_kyradat/module.mk +++ b/devtools/create_kyradat/module.mk @@ -14,8 +14,5 @@ MODULE_OBJS := \ # Set the name of the executable TOOL_EXECUTABLE := create_kyradat -# Link against common code (for scumm_stricmp) -TOOL_DEPS := common/libcommon.a - # Include common rules include $(srcdir)/rules.mk diff --git a/devtools/create_kyradat/util.cpp b/devtools/create_kyradat/util.cpp index 2420f44168..5ce8237b85 100644 --- a/devtools/create_kyradat/util.cpp +++ b/devtools/create_kyradat/util.cpp @@ -54,6 +54,19 @@ void warning(const char *s, ...) { fprintf(stderr, "WARNING: %s!\n", buf); } +int scumm_stricmp(const char *s1, const char *s2) { + byte l1, l2; + do { + // Don't use ++ inside tolower, in case the macro uses its + // arguments more than once. + l1 = (byte)*s1++; + l1 = tolower(l1); + l2 = (byte)*s2++; + l2 = tolower(l2); + } while (l1 == l2 && l1 != 0); + return l1 - l2; +} + void debug(int level, const char *s, ...) { char buf[1024]; va_list va; diff --git a/devtools/create_kyradat/util.h b/devtools/create_kyradat/util.h index 0d8e15cc37..a2783cca71 100644 --- a/devtools/create_kyradat/util.h +++ b/devtools/create_kyradat/util.h @@ -50,6 +50,7 @@ uint32 fileSize(FILE *fp); void NORETURN_PRE error(const char *s, ...) NORETURN_POST; void warning(const char *s, ...); void debug(int level, const char *s, ...); +int scumm_stricmp(const char *s1, const char *s2); using namespace Common; |