Use iconv to convert filenames from UTF-8.
Patch by miniupnp, with some C89 adjustments. Enabled for Haiku and the generic Linux/*BSD part of the Makefile. Please adjust as needed. Fixes #10 for codepages for which we have a font. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@2172 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
@@ -799,10 +799,23 @@ void Print_filename(void)
|
||||
// Determine maximum size, in characters
|
||||
max_size = 12 + (Screen_width / Menu_factor_X - 320) / 8;
|
||||
|
||||
string_size = strlen(Main_backups->Pages->Filename);
|
||||
|
||||
// Partial copy of the name
|
||||
strncpy(display_string, Main_backups->Pages->Filename, max_size);
|
||||
{
|
||||
#ifdef ENABLE_FILENAMES_ICONV
|
||||
char * input = Main_backups->Pages->Filename;
|
||||
size_t inbytesleft = strlen(input);
|
||||
char * output = display_string;
|
||||
size_t outbytesleft = sizeof(display_string)-1;
|
||||
if(cd != (iconv_t)-1 && (ssize_t)iconv(cd, &input, &inbytesleft, &output, &outbytesleft) >= 0)
|
||||
*output = '\0';
|
||||
else
|
||||
#endif /* ENABLE_FILENAMES_ICONV */
|
||||
{
|
||||
strncpy(display_string, Main_backups->Pages->Filename, sizeof(display_string)-1);
|
||||
display_string[sizeof(display_string)-1] = '\0';
|
||||
}
|
||||
}
|
||||
string_size = strlen(display_string);
|
||||
display_string[max_size]='\0';
|
||||
|
||||
if (string_size > max_size)
|
||||
|
||||
Reference in New Issue
Block a user