diff options
| author | pali <[email protected]> | 2019-09-24 23:12:26 +0200 |
|---|---|---|
| committer | Adonais Romero González <[email protected]> | 2019-09-24 14:12:26 -0700 |
| commit | 16022c593787aef040b8a37ef697316e07f1322e (patch) | |
| tree | e50e8891aad61c6e7dbdd070d270cb9a5e600de2 /bluetooth | |
| parent | 7aa77ce9373bbe7eab4ab90890707c4d9ea526a2 (diff) | |
Fix changing and reading FAT labels with leading 0xE5 byte in fastfat.sys (#303)86973
FAT Volume Label is stored in the root directory entry and therefore when
setting new Volume Label with leading 0xE5 byte it first needs to be
converted to 0x05 byte. This step is also required by Microsoft FAT
specification (fatgen103.doc) and also applied for all other files and
directories. But not for volume label yet. First byte 0xE5 in directory
entry means that entry is removed.
Similarly, when reading Volume Label from the root directory, leading byte
0x05 first needs to be converted to 0xE5 and then later processed. This is
reverse operation as described in previous paragraph.
FAT Volume Label is converted from Unicode to bytes according to OEM code
page. OEM code page is configured in Language for non-Unicode applications
settings in Country/Region settings.
When it is set to English (United Kingdom), then OEM code page is 850. And
in 850 is Unicode LATIN CAPITAL LETTER O WITH TILDE represented as 0xE5.
Therefore this pull request fixes setting FAT label "Õ" when regional
settings are set to English (United Kingdom).
Diffstat (limited to 'bluetooth')
0 files changed, 0 insertions, 0 deletions
