Move g_get_codeset next to g_get_charset

g_get_codeset is a close relatove to g_get_charset, and up to now
it lived a shadowy existence without any header presence.
This commit is contained in:
Matthias Clasen 2011-10-15 23:27:28 -04:00
parent 976b0b72a4
commit d0bb1e0b0a
4 changed files with 27 additions and 31 deletions

View File

@ -2666,6 +2666,7 @@ GConvertError
<SUBSECTION> <SUBSECTION>
g_get_charset g_get_charset
g_get_codeset
<SUBSECTION Private> <SUBSECTION Private>
g_convert_error_quark g_convert_error_quark

View File

@ -486,16 +486,11 @@ typedef enum
G_UNICODE_SCRIPT_MANDAIC /* Mand */ G_UNICODE_SCRIPT_MANDAIC /* Mand */
} GUnicodeScript; } GUnicodeScript;
guint32 g_unicode_script_to_iso15924 (GUnicodeScript script); guint32 g_unicode_script_to_iso15924 (GUnicodeScript script);
GUnicodeScript g_unicode_script_from_iso15924 (guint32 iso15924); GUnicodeScript g_unicode_script_from_iso15924 (guint32 iso15924);
/* Returns TRUE if current locale uses UTF-8 charset. If CHARSET is
* not null, sets *CHARSET to the name of the current locale's
* charset. This value is statically allocated, and should be copied
* in case the locale's charset will be changed later using setlocale()
* or in some other way.
*/
gboolean g_get_charset (const char **charset); gboolean g_get_charset (const char **charset);
gchar * g_get_codeset (void);
/* These are all analogs of the <ctype.h> functions. /* These are all analogs of the <ctype.h> functions.
*/ */

View File

@ -563,7 +563,7 @@ charset_cache_free (gpointer data)
/** /**
* g_get_charset: * g_get_charset:
* @charset: return location for character set name * @charset: return location for character set name
* *
* Obtains the character set for the <link linkend="setlocale">current * Obtains the character set for the <link linkend="setlocale">current
* locale</link>; you might use this character set as an argument to * locale</link>; you might use this character set as an argument to
* g_convert(), to convert from the current locale's encoding to some * g_convert(), to convert from the current locale's encoding to some
@ -583,7 +583,7 @@ charset_cache_free (gpointer data)
* freed. * freed.
* *
* Return value: %TRUE if the returned charset is UTF-8 * Return value: %TRUE if the returned charset is UTF-8
**/ */
gboolean gboolean
g_get_charset (const char **charset) g_get_charset (const char **charset)
{ {
@ -600,11 +600,11 @@ g_get_charset (const char **charset)
G_LOCK (aliases); G_LOCK (aliases);
raw = _g_locale_charset_raw (); raw = _g_locale_charset_raw ();
G_UNLOCK (aliases); G_UNLOCK (aliases);
if (!(cache->raw && strcmp (cache->raw, raw) == 0)) if (!(cache->raw && strcmp (cache->raw, raw) == 0))
{ {
const gchar *new_charset; const gchar *new_charset;
g_free (cache->raw); g_free (cache->raw);
g_free (cache->charset); g_free (cache->charset);
cache->raw = g_strdup (raw); cache->raw = g_strdup (raw);
@ -614,10 +614,28 @@ g_get_charset (const char **charset)
if (charset) if (charset)
*charset = cache->charset; *charset = cache->charset;
return cache->is_utf8; return cache->is_utf8;
} }
/**
* g_get_codeset:
*
* Gets the character set for the current locale.
*
* Return value: a newly allocated string containing the name
* of the character set. This string must be freed with g_free().
*/
gchar *
g_get_codeset (void)
{
const gchar *charset;
g_get_charset (&charset);
return g_strdup (charset);
}
/* unicode_strchr */ /* unicode_strchr */
/** /**

View File

@ -2955,24 +2955,6 @@ g_nullify_pointer (gpointer *nullify_location)
*nullify_location = NULL; *nullify_location = NULL;
} }
/**
* g_get_codeset:
*
* Get the codeset for the current locale.
*
* Return value: a newly allocated string containing the name
* of the codeset. This string must be freed with g_free().
**/
gchar *
g_get_codeset (void)
{
const gchar *charset;
g_get_charset (&charset);
return g_strdup (charset);
}
#ifdef G_OS_WIN32 #ifdef G_OS_WIN32
/** /**