SDL_iconv_string() defaults to UTF-8

Fixes https://github.com/libsdl-org/SDL/issues/8287

(cherry picked from commit 1375d2049d9fd17cb0d9a47a0e256a42c3188f76)
This commit is contained in:
Sam Lantinga 2023-09-24 17:27:23 -07:00
parent 27f2df2292
commit 9772d0512c

View file

@ -795,17 +795,13 @@ char *SDL_iconv_string(const char *tocode, const char *fromcode, const char *inb
size_t outbytesleft; size_t outbytesleft;
size_t retCode = 0; size_t retCode = 0;
cd = SDL_iconv_open(tocode, fromcode); if (tocode == NULL || !*tocode) {
if (cd == (SDL_iconv_t)-1) { tocode = "UTF-8";
/* See if we can recover here (fixes iconv on Solaris 11) */
if (tocode == NULL || !*tocode) {
tocode = "UTF-8";
}
if (fromcode == NULL || !*fromcode) {
fromcode = "UTF-8";
}
cd = SDL_iconv_open(tocode, fromcode);
} }
if (fromcode == NULL || !*fromcode) {
fromcode = "UTF-8";
}
cd = SDL_iconv_open(tocode, fromcode);
if (cd == (SDL_iconv_t)-1) { if (cd == (SDL_iconv_t)-1) {
return NULL; return NULL;
} }