Fixed bug #349
Solaris doesn't support the LATIN1 character set alias. --HG-- branch : SDL-1.2 extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%402405
This commit is contained in:
parent
84063eb26e
commit
13be73d999
3 changed files with 11 additions and 5 deletions
|
@ -584,8 +584,8 @@ extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf, siz
|
||||||
string that must be freed with SDL_free() or NULL on error.
|
string that must be freed with SDL_free() or NULL on error.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC char * SDLCALL SDL_iconv_string(const char *tocode, const char *fromcode, const char *inbuf, size_t inbytesleft);
|
extern DECLSPEC char * SDLCALL SDL_iconv_string(const char *tocode, const char *fromcode, const char *inbuf, size_t inbytesleft);
|
||||||
#define SDL_iconv_utf8_ascii(S) SDL_iconv_string("ASCII", "UTF-8", S, SDL_strlen(S)+1)
|
#define SDL_iconv_utf8_ascii(S) SDL_iconv_string("646", "UTF-8", S, SDL_strlen(S)+1)
|
||||||
#define SDL_iconv_utf8_latin1(S) SDL_iconv_string("LATIN1", "UTF-8", S, SDL_strlen(S)+1)
|
#define SDL_iconv_utf8_latin1(S) SDL_iconv_string("8859-1", "UTF-8", S, SDL_strlen(S)+1)
|
||||||
#define SDL_iconv_utf8_ucs2(S) (Uint16 *)SDL_iconv_string("UCS-2", "UTF-8", S, SDL_strlen(S)+1)
|
#define SDL_iconv_utf8_ucs2(S) (Uint16 *)SDL_iconv_string("UCS-2", "UTF-8", S, SDL_strlen(S)+1)
|
||||||
#define SDL_iconv_utf8_ucs4(S) (Uint32 *)SDL_iconv_string("UCS-4", "UTF-8", S, SDL_strlen(S)+1)
|
#define SDL_iconv_utf8_ucs4(S) (Uint32 *)SDL_iconv_string("UCS-4", "UTF-8", S, SDL_strlen(S)+1)
|
||||||
|
|
||||||
|
|
|
@ -107,9 +107,11 @@ static struct {
|
||||||
const char *name;
|
const char *name;
|
||||||
int format;
|
int format;
|
||||||
} encodings[] = {
|
} encodings[] = {
|
||||||
|
{ "646", ENCODING_ASCII },
|
||||||
{ "ASCII", ENCODING_ASCII },
|
{ "ASCII", ENCODING_ASCII },
|
||||||
{ "US-ASCII", ENCODING_ASCII },
|
{ "US-ASCII", ENCODING_ASCII },
|
||||||
{ "LATIN1", ENCODING_LATIN1 },
|
{ "LATIN1", ENCODING_LATIN1 },
|
||||||
|
{ "8859-1", ENCODING_LATIN1 },
|
||||||
{ "ISO-8859-1", ENCODING_LATIN1 },
|
{ "ISO-8859-1", ENCODING_LATIN1 },
|
||||||
{ "UTF8", ENCODING_UTF8 },
|
{ "UTF8", ENCODING_UTF8 },
|
||||||
{ "UTF-8", ENCODING_UTF8 },
|
{ "UTF-8", ENCODING_UTF8 },
|
||||||
|
|
|
@ -53,12 +53,16 @@ int main(int argc, char *argv[])
|
||||||
for ( i = 0; i < SDL_arraysize(formats); ++i ) {
|
for ( i = 0; i < SDL_arraysize(formats); ++i ) {
|
||||||
test[0] = SDL_iconv_string(formats[i], "UCS-4", ucs4, len);
|
test[0] = SDL_iconv_string(formats[i], "UCS-4", ucs4, len);
|
||||||
test[1] = SDL_iconv_string("UCS-4", formats[i], test[0], len);
|
test[1] = SDL_iconv_string("UCS-4", formats[i], test[0], len);
|
||||||
if ( SDL_memcmp(test[1], ucs4, len) != 0 ) {
|
if ( !test[1] || SDL_memcmp(test[1], ucs4, len) != 0 ) {
|
||||||
fprintf(stderr, "FAIL: %s\n", formats[i]);
|
fprintf(stderr, "FAIL: %s\n", formats[i]);
|
||||||
++errors;
|
++errors;
|
||||||
}
|
}
|
||||||
SDL_free(test[0]);
|
if ( test[0] ) {
|
||||||
SDL_free(test[1]);
|
SDL_free(test[0]);
|
||||||
|
}
|
||||||
|
if ( test[1] ) {
|
||||||
|
SDL_free(test[1]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
test[0] = SDL_iconv_string("UTF-8", "UCS-4", ucs4, len);
|
test[0] = SDL_iconv_string("UTF-8", "UCS-4", ucs4, len);
|
||||||
SDL_free(ucs4);
|
SDL_free(ucs4);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue