1
1

add convert_from_utf_to_current_c, fix little warnings

Этот коммит содержится в:
Ilia Maslakov 2009-04-16 21:26:08 +00:00
родитель df1d805b44
Коммит eb28a3b2b3
2 изменённых файлов: 33 добавлений и 3 удалений

Просмотреть файл

@ -253,7 +253,7 @@ convert_from_input (char *str)
}
unsigned char
convert_from_utf_to_current (char *str)
convert_from_utf_to_current (const char *str)
{
if (!str)
return '.';
@ -281,4 +281,34 @@ convert_from_utf_to_current (char *str)
}
unsigned char
convert_from_utf_to_current_c (const int input_char)
{
unsigned char str[2];
unsigned char ch = '.';
char *cp_to = NULL;
GIConv conv;
GString *translated_data;
str[0] = input_char;
str[1] = '\0';
translated_data = g_string_new ("");
cp_to = g_strdup ( get_codepage_id ( display_codepage ) );
conv = str_crt_conv_to (cp_to);
if (conv != INVALID_CONV) {
if (str_convert (conv, str, translated_data) != ESTR_FAILURE) {
ch = translated_data->str[0];
} else {
ch = '.';
}
str_close_conv (conv);
}
g_free (cp_to);
g_string_free (translated_data, TRUE);
return ch;
}
#endif /* HAVE_CHARSET */

Просмотреть файл

@ -26,8 +26,8 @@ const char *init_translation_table (int cpsource, int cpdisplay);
void convert_to_display (char *str);
void convert_from_input (char *str);
void convert_string (unsigned char *str);
unsigned char convert_from_utf_to_current (char *str);
unsigned char convert_from_utf_to_current (const char *str);
unsigned char convert_from_utf_to_current_c (const int input_char);
/* Convert single characters */
static inline int
convert_to_display_c (int c)