add convert_from_utf_to_current_c, fix little warnings
Этот коммит содержится в:
родитель
df1d805b44
Коммит
eb28a3b2b3
@ -253,7 +253,7 @@ convert_from_input (char *str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
unsigned char
|
unsigned char
|
||||||
convert_from_utf_to_current (char *str)
|
convert_from_utf_to_current (const char *str)
|
||||||
{
|
{
|
||||||
if (!str)
|
if (!str)
|
||||||
return '.';
|
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 */
|
#endif /* HAVE_CHARSET */
|
||||||
|
@ -26,8 +26,8 @@ const char *init_translation_table (int cpsource, int cpdisplay);
|
|||||||
void convert_to_display (char *str);
|
void convert_to_display (char *str);
|
||||||
void convert_from_input (char *str);
|
void convert_from_input (char *str);
|
||||||
void convert_string (unsigned 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 */
|
/* Convert single characters */
|
||||||
static inline int
|
static inline int
|
||||||
convert_to_display_c (int c)
|
convert_to_display_c (int c)
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user