add convert_from_utf_to_current_c, fix little warnings
Этот коммит содержится в:
родитель
df1d805b44
Коммит
eb28a3b2b3
@ -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)
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user