View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006329 | F3S | F3S | public | 2024-07-17 04:48 | 2024-07-22 15:50 |
Reporter | zutter | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Product Version | V2.11 | ||||
Target Version | V2.19 | Fixed in Version | V2.19 | ||
Summary | 0006329: Trouble while use characters from extended ASCII table for file names | ||||
Description | Trouble while use characters from extended ASCII table for file names | ||||
Additional Information | "toupper" is used for calculate the file hash. WEC2013 "toupper" does not work when it is called very early in boot process. Impact, you can create and work a file "ä" for example, but you can never access it after reboot (hash table entry is calculated with "ä", search hash is calculated with "Ä"). WCE6/WEC7 "toupper" does not work at all ascii characters > 0x7F. Impact, you can create files "Ä" and "ä" for example at the same time. Use following instaed ot "toupper": inline UINT AsciiExCharToUpper(UINT u) { BYTE distance = 0; BYTE* pBytes = (BYTE*)&u; if (pBytes[0] >= 97 && pBytes[0] <= 122) { distance = 32; } else if (pBytes[0] >= 224 && pBytes[0] <= 254) { distance = 32; } else if (pBytes[0] == 154 || pBytes[0] == 156 || pBytes[0] == 158) { distance = 16; } return pBytes[0] - distance; } | ||||