mirror of
https://github.com/reactos/reactos.git
synced 2025-01-06 06:20:13 +00:00
[NLS2TXT] Add missed check for default char
[TXT2NLS] Size of glyph table in words (create_nls uses wrong size) svn path=/trunk/; revision=72704
This commit is contained in:
parent
fc49388a2a
commit
ea13a8e917
4 changed files with 18 additions and 15 deletions
|
@ -172,15 +172,18 @@ BestFit_FromNLS(const WCHAR *pszNLSFile, const WCHAR *pszBestFitFile)
|
|||
|
||||
for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
|
||||
{
|
||||
WCHAR szCharName[MAX_STR_LEN] = { 0 };
|
||||
if (CodePageChar != CodePageTable.UniDefaultChar)
|
||||
{
|
||||
WCHAR szCharName[MAX_STR_LEN] = { 0 };
|
||||
|
||||
GetUName(GlyphTable[CodePageChar], szCharName);
|
||||
GetUName(GlyphTable[CodePageChar], szCharName);
|
||||
|
||||
BestFit_Write(hFile,
|
||||
L"0x%02X 0x%04X ;%s\r\n",
|
||||
CodePageChar,
|
||||
GlyphTable[CodePageChar],
|
||||
szCharName);
|
||||
BestFit_Write(hFile,
|
||||
L"0x%02X 0x%04X ;%s\r\n",
|
||||
CodePageChar,
|
||||
GlyphTable[CodePageChar],
|
||||
szCharName);
|
||||
}
|
||||
}
|
||||
|
||||
BestFit_Write(hFile, L"\r\n");
|
||||
|
|
|
@ -62,7 +62,7 @@ NLS_ReadFile(const WCHAR *pszFile, PCPTABLEINFO CodePageTable)
|
|||
hFile = CreateFile(pszFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
|
||||
if (hFile != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
PUSHORT pData = NULL;
|
||||
PUSHORT pData;
|
||||
DWORD dwRead;
|
||||
DWORD dwFileSize;
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ nls_from_txt(const char *txt_file_path, const char *nls_file_path)
|
|||
}
|
||||
|
||||
/* OEM glyph table size in words */
|
||||
size = (glyph_table ? (256 * sizeof(uint16_t)) : 0);
|
||||
size = (glyph_table ? 256 : 0);
|
||||
|
||||
if (fwrite(&size, 1, sizeof(size), file) != sizeof(size))
|
||||
{
|
||||
|
|
|
@ -140,7 +140,7 @@ txt_get_mb_table(const char *file_path, uint16_t uni_default_char)
|
|||
int res = 0;
|
||||
FILE *file;
|
||||
|
||||
table = malloc(0xFF * sizeof(uint16_t));
|
||||
table = malloc(256 * sizeof(uint16_t));
|
||||
if (!table)
|
||||
{
|
||||
printf("Memory allocation failure\n");
|
||||
|
@ -148,7 +148,7 @@ txt_get_mb_table(const char *file_path, uint16_t uni_default_char)
|
|||
}
|
||||
|
||||
/* Set default value for all table items */
|
||||
for (index = 0; index <= 0xFF; index++)
|
||||
for (index = 0; index <= 255; index++)
|
||||
table[index] = uni_default_char;
|
||||
|
||||
file = fopen(file_path, "r");
|
||||
|
@ -254,7 +254,7 @@ txt_get_wc_table(const char *file_path, uint16_t default_char, int is_dbcs)
|
|||
int found;
|
||||
FILE *file;
|
||||
|
||||
table = malloc(0xFFFF * (is_dbcs ? sizeof(uint16_t) : sizeof(uint8_t)));
|
||||
table = malloc(65536 * (is_dbcs ? sizeof(uint16_t) : sizeof(uint8_t)));
|
||||
if (!table)
|
||||
{
|
||||
printf("Memory allocation failure\n");
|
||||
|
@ -262,7 +262,7 @@ txt_get_wc_table(const char *file_path, uint16_t default_char, int is_dbcs)
|
|||
}
|
||||
|
||||
/* Set default value for all table items */
|
||||
for (index = 0; index <= 0xFFFF; index++)
|
||||
for (index = 0; index <= 65535; index++)
|
||||
{
|
||||
/* DBCS code page */
|
||||
if (is_dbcs)
|
||||
|
@ -393,7 +393,7 @@ txt_get_glyph_table(const char *file_path, uint16_t uni_default_char)
|
|||
int res = 0;
|
||||
FILE *file;
|
||||
|
||||
table = malloc(0xFF * sizeof(uint16_t));
|
||||
table = malloc(256 * sizeof(uint16_t));
|
||||
if (!table)
|
||||
{
|
||||
printf("Memory allocation failure\n");
|
||||
|
@ -401,7 +401,7 @@ txt_get_glyph_table(const char *file_path, uint16_t uni_default_char)
|
|||
}
|
||||
|
||||
/* Set default value for all table items */
|
||||
for (index = 0; index <= 0xFF; index++)
|
||||
for (index = 0; index <= 255; index++)
|
||||
table[index] = uni_default_char;
|
||||
|
||||
file = fopen(file_path, "r");
|
||||
|
|
Loading…
Reference in a new issue