diff --git a/Makefile.common b/Makefile.common index 2bc3bd4f65..69f5a1dd87 100644 --- a/Makefile.common +++ b/Makefile.common @@ -530,7 +530,7 @@ ifeq ($(HAVE_MENU_COMMON), 1) menu/drivers/null.o endif -ifeq ($(UTF8), 1) +ifneq ($(NO_UTF8), 1) DEFINES += -DHAVE_UTF8 OBJ += intl/msg_hash_ru.o DEFINES += -finput-charset=UTF-8 diff --git a/libretro-common/encodings/encoding_utf.c b/libretro-common/encodings/encoding_utf.c index ad52cff818..1a151066aa 100644 --- a/libretro-common/encodings/encoding_utf.c +++ b/libretro-common/encodings/encoding_utf.c @@ -209,7 +209,7 @@ size_t utf8len(const char *string) #endif } -uint8_t utf8_walkbyte(const char **string) +inline uint8_t utf8_walkbyte(const char **string) { return *((*string)++); } @@ -217,6 +217,7 @@ uint8_t utf8_walkbyte(const char **string) /* Does not validate the input, returns garbage if it's not UTF-8. */ uint32_t utf8_walk(const char **string) { +#ifdef HAVE_UTF8 uint8_t first = utf8_walkbyte(string); uint32_t ret; @@ -235,4 +236,7 @@ uint32_t utf8_walk(const char **string) if (first >= 0xE0) return ret | (first&15)<<12; return ret | (first&7)<<6; +#else + return utf8_walkbyte(string); +#endif } diff --git a/libretro-common/include/encodings/utf.h b/libretro-common/include/encodings/utf.h index 85db439d82..88585bc228 100644 --- a/libretro-common/include/encodings/utf.h +++ b/libretro-common/include/encodings/utf.h @@ -40,8 +40,6 @@ size_t utf8cpy(char *d, size_t d_len, const char *s, size_t chars); const char *utf8skip(const char *str, size_t chars); -uint8_t utf8_walkbyte(const char **string); - uint32_t utf8_walk(const char **string); #endif