comparison src/util.c @ 9642:8901ef16f310

[gaim-migrate @ 10490] Some changes that don't affect anything. Ethan might want to do something with this function? I'm too lazy to read the gaim-devel emails in detail. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 02 Aug 2004 03:33:00 +0000
parents 66b3f54527e6
children ed3bbf36de75
comparison
equal deleted inserted replaced
9641:9981fcce85c1 9642:8901ef16f310
2946 2946
2947 2947
2948 /************************************************************************** 2948 /**************************************************************************
2949 * UTF8 String Functions 2949 * UTF8 String Functions
2950 **************************************************************************/ 2950 **************************************************************************/
2951 char * 2951 gchar *
2952 gaim_utf8_try_convert(const char *str) 2952 gaim_utf8_try_convert(const char *str)
2953 { 2953 {
2954 gsize converted; 2954 gsize converted;
2955 char *utf8; 2955 gchar *utf8;
2956 2956
2957 g_return_val_if_fail(str != NULL, NULL); 2957 g_return_val_if_fail(str != NULL, NULL);
2958 2958
2959 if (g_utf8_validate(str, -1, NULL)) { 2959 if (g_utf8_validate(str, -1, NULL)) {
2960 return g_strdup(str); 2960 return g_strdup(str);
2961 } 2961 }
2962 2962
2963 utf8 = g_locale_to_utf8(str, -1, &converted, NULL, NULL); 2963 utf8 = g_locale_to_utf8(str, -1, &converted, NULL, NULL);
2964 if (utf8) 2964 if (utf8 != NULL)
2965 return(utf8); 2965 return utf8;
2966
2967 g_free(utf8);
2968 2966
2969 utf8 = g_convert(str, -1, "UTF-8", "ISO-8859-15", &converted, NULL, NULL); 2967 utf8 = g_convert(str, -1, "UTF-8", "ISO-8859-15", &converted, NULL, NULL);
2970 if (utf8 && converted == strlen (str)) { 2968 if ((utf8 != NULL) && (converted == strlen(str)))
2971 return(utf8); 2969 return utf8;
2972 } else if (utf8) { 2970
2971 if (utf8 != NULL)
2973 g_free(utf8); 2972 g_free(utf8);
2974 } 2973
2975 2974 return NULL;
2976 return(NULL);
2977 } 2975 }
2978 2976
2979 char * 2977 char *
2980 gaim_utf8_ncr_decode(const char *in) 2978 gaim_utf8_ncr_decode(const char *in)
2981 { 2979 {