codepages: Translate to linux codepage names for use on APPLICATION.
The iocharset mount option names the codepages slightly differently and must be translated properly. Change-Id: I147a256e3453136282244201c27225a30cdfdca0
This commit is contained in:
parent
facbaab195
commit
07f484824c
|
@ -79,6 +79,35 @@ static const char * const name_codepages[NUM_CODEPAGES+1] =
|
|||
"unknown"
|
||||
};
|
||||
|
||||
#if defined(APPLICATION) && defined(__linux__)
|
||||
static const char * const name_codepages_linux[NUM_CODEPAGES+1] =
|
||||
{
|
||||
"iso8859-1",
|
||||
"iso8859-7",
|
||||
"iso8859-8",
|
||||
"cp1251",
|
||||
"iso8859-11",
|
||||
"cp1256",
|
||||
"iso8859-9",
|
||||
"iso8859-2",
|
||||
"cp1250",
|
||||
"iso8859-15" /* closest, linux doesnt have a codepage named cp1252 */
|
||||
"cp932",
|
||||
"cp936",
|
||||
"cp949",
|
||||
"cp950",
|
||||
"utf8",
|
||||
"cp437"
|
||||
};
|
||||
|
||||
const char *get_current_codepage_name_linux(void)
|
||||
{
|
||||
if (default_codepage < 0 || default_codepage >= NUM_CODEPAGES)
|
||||
return name_codepages_linux[NUM_CODEPAGES];
|
||||
return name_codepages_linux[default_codepage];
|
||||
}
|
||||
#endif
|
||||
|
||||
#else /* !HAVE_LCD_BITMAP, reduced support */
|
||||
|
||||
#define MAX_CP_TABLE_SIZE 768
|
||||
|
|
|
@ -80,4 +80,7 @@ const unsigned char* utf8decode(const unsigned char *utf8, unsigned short *ucs);
|
|||
void set_codepage(int cp);
|
||||
int utf8seek(const unsigned char* utf8, int offset);
|
||||
const char* get_codepage_name(int cp);
|
||||
#if defined(APPLICATION) && defined(__linux__)
|
||||
const char *get_current_codepage_name_linux(void);
|
||||
#endif
|
||||
#endif /* _RBUNICODE_H_ */
|
||||
|
|
Loading…
Reference in New Issue