| # Patch against libcharset version 1.4 |
| --- libiconv-1.12/libcharset//lib/localcharset.c 2006-10-18 07:55:49.000000000 -0400 |
| +++ localcharset.c 2008-05-20 18:36:24.000000000 -0400 |
| @@ -103,8 +103,8 @@ |
| static const char * volatile charset_aliases; |
| |
| /* Return a pointer to the contents of the charset.alias file. */ |
| -static const char * |
| -get_charset_aliases (void) |
| +const char * |
| +_g_locale_get_charset_aliases (void) |
| { |
| const char *cp; |
| |
| @@ -280,14 +280,10 @@ |
| If the canonical name cannot be determined, the result is a non-canonical |
| name. */ |
| |
| -#ifdef STATIC |
| -STATIC |
| -#endif |
| const char * |
| -locale_charset (void) |
| +_g_locale_charset_raw (void) |
| { |
| const char *codeset; |
| - const char *aliases; |
| |
| #if !(defined WIN32_NATIVE || defined OS2) |
| |
| @@ -436,12 +432,20 @@ |
| |
| #endif |
| |
| + return codeset; |
| +} |
| + |
| +const char * |
| +_g_locale_charset_unalias (const char *codeset) |
| +{ |
| + const char *aliases; |
| + |
| if (codeset == NULL) |
| /* The canonical name cannot be determined. */ |
| codeset = ""; |
| |
| /* Resolve alias. */ |
| - for (aliases = get_charset_aliases (); |
| + for (aliases = _g_locale_get_charset_aliases (); |
| *aliases != '\0'; |
| aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) |
| if (strcmp (codeset, aliases) == 0 |
| --- libiconv-1.12/libcharset//include/libcharset.h.in 2005-05-19 13:14:56.000000000 -0400 |
| +++ libcharset.h 2008-05-20 18:39:44.000000000 -0400 |
| @@ -19,7 +19,7 @@ |
| #ifndef _LIBCHARSET_H |
| #define _LIBCHARSET_H |
| |
| -#include <localcharset.h> |
| +#include "localcharset.h" |
| |
| |
| #ifdef __cplusplus |
| --- libiconv-1.12/libcharset//include/localcharset.h.in 2005-05-19 13:14:57.000000000 -0400 |
| +++ localcharset.h 2008-05-20 18:36:24.000000000 -0400 |
| @@ -31,8 +31,9 @@ |
| The result must not be freed; it is statically allocated. |
| If the canonical name cannot be determined, the result is a non-canonical |
| name. */ |
| -extern const char * locale_charset (void); |
| - |
| +extern const char * _g_locale_charset_raw (void); |
| +extern const char * _g_locale_charset_unalias (const char *codeset); |
| +extern const char * _g_locale_get_charset_aliases (void); |
| |
| #ifdef __cplusplus |
| } |