Re: [PATCH] msdos fs NLS support

From: Urban Widmark (urban@svenskatest.se)
Date: Mon May 29 2000 - 18:04:56 EST


On Tue, 30 May 2000, GOTO Masanori wrote:

> hmm, 2.4.0test-ac4 has missing map tables of cp932, cp936, cp949, c950.
> so i made additional patch for Urban's + Andrzej's.
> The patch is found at:
> http://www2.fe.dis.titech.ac.jp/~gotom/patch/linux/nls16maps.patch.gz

Hello, a few comments:

I changed 'void uni2char' to 'int uni2char' in my "forward port" since
there are those who want to know if the result was ok (ncpfs). IMHO
returning -1 on error is a lot nicer than just writing '?' to the output
buffer. It's a simple change to make for these as well.

2.3 doesn't have 'dec/inc_use_count' in the struct nls_table. So those
should be removed (and the functions).

There are 2 arrays for converting characters from lower to upper and upper
to lower in the 2.3/2.4 struct nls_table. These probably need to be
changed from 2 arrays into 2 functions, so that the interface allows
variable size characters for upper/lower (as it does for the uni<->char).

There is a little more work to this since a few fs access the arrays (and
expect an 8-bit value). vfat, ncpfs & I think Andrzej's patch makes msdos
use these arrays.

I didn't make the upper/lower change, for a couple of reasons:
a) I don't know if fs-gurus/maintainers/etc think it's a good idea, or if
   there is a better way to solve this.
b) vfat, for example, needs a little bit more than just replacing the
   t->charset2lower[c] with a function call. It's not necessarily
   complicated (not saying that it isn't :), but:
c) I don't really use vfat that much (and not with non us-ascii char's).
   This makes it less of a priority to me.

Feel free to take my patch + the missing codepages and work on this if you
like. I'm certain you know more about how 16-bit charsets work in real
life than I do.

/Urban

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:22 EST