diff options
-rw-r--r-- | engines/sword25/util/lua/luaconf.h | 14 | ||||
-rw-r--r-- | engines/sword25/util/lua/lvm.cpp | 7 |
2 files changed, 13 insertions, 8 deletions
diff --git a/engines/sword25/util/lua/luaconf.h b/engines/sword25/util/lua/luaconf.h index 669b0e7a49..ddd6c8184e 100644 --- a/engines/sword25/util/lua/luaconf.h +++ b/engines/sword25/util/lua/luaconf.h @@ -18,6 +18,14 @@ ** =================================================================== */ +#if defined(__ANDROID__) +/* Android is missing strcoll(). +** For more information, refer to: +** http://www.damonkohler.com/2008/12/lua-on-android.html +*/ +#define strcoll strcmp +#endif + /* @@ LUA_ANSI controls the use of non-ansi features. @@ -183,7 +191,11 @@ #define LUAI_DATA /* empty */ #elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ - defined(__ELF__) + defined(__ELF__) && !defined(__PLAYSTATION2__) +/* +** The PS2 gcc compiler doesn't like the visibility attribute, so +** we use the normal "extern" definitions in the block below +*/ #define LUAI_FUNC __attribute__((visibility("hidden"))) extern #define LUAI_DATA LUAI_FUNC diff --git a/engines/sword25/util/lua/lvm.cpp b/engines/sword25/util/lua/lvm.cpp index aee31064ff..ae70fe2645 100644 --- a/engines/sword25/util/lua/lvm.cpp +++ b/engines/sword25/util/lua/lvm.cpp @@ -202,14 +202,7 @@ static int l_strcmp (const TString *ls, const TString *rs) { const char *r = getstr(rs); size_t lr = rs->tsv.len; for (;;) { -#if defined(__ANDROID__) - // Android is missing strcoll(). - // For more information, refer to: - // http://www.damonkohler.com/2008/12/lua-on-android.html - int temp = strcmp(l, r); -#else int temp = strcoll(l, r); -#endif if (temp != 0) return temp; else { /* strings are equal up to a `\0' */ size_t len = strlen(l); /* index of first `\0' in both strings */ |