Re: A Great Idea (tm) about reimplementing NLS.

From: Bodo Eggert
Date: Fri Jun 17 2005 - 04:14:30 EST


Lennart Sorensen <lsorense@xxxxxxxxxxxxxxxxxxx> wrote:

> What do you do if the underlying filesystem can not store some unicode
> characters that are allowed on others?

On vfat:
open("/e/a:b", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = -1 EINVAL

> VFAT uses unicode? I thought it used the same codepage silyness as FAT
> did, since after all ti was just supposed to be a long filename
> extension to FAT. Do they use unicode in the long filenames only?

It uses two codepages, one for short names and one for long names.
The long name charset defaults to iso-8859-1, and the short one to cp437

$ dd if=/dev/zero of=img bs=512 count=90
$ mkfs.msdos img
$ mount -oloop img /x
$ touch /x/testäöüßtest
$ umount /x
$ hex<img
...
0600 41 74 00 65 00 73 00 74 00 e4 00 0f 00 db f6 00 At.e.s.t ........
0610 fc 00 df 00 74 00 65 00 73 00 00 00 74 00 00 00 ....t.e. s...t...
0620 54 45 53 54 8e 99 7e 31 20 20 20 20 00 00 d0 58 TEST..~1 ...X
0630 d1 32 d1 32 00 00 d0 58 d1 32 00 00 00 00 00 00 .2.2...X .2......

--
Ich danke GMX dafür, die Verwendung meiner Adressen mittels per SPF
verbreiteten Lügen zu sabotieren.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/