lkml.org 
[lkml]   [2000]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[patch] forward port of 16 bit nls (vfat, ntfs, ncpfs, joliet)

Hello

These patches are my second attempt at a forward port of the 16bit nls
support in 2.2. I believe this is ok, but it would be nice to get some
feedback from people using these filesystems with nls (most wanted:
non-cp850/iso8859-1 testers) before suggesting they are included in
2.4.0-testX. Cc to maintainers and others that have shown interest before.

Patches vs 2.4.0-test3-pre2, but also applies fine vs 2.4.0-test1.


nls16-2.4.0-test3-pre2.patch:
* Adds new conversion routines for charset <-> unicode to handle variable
sized characters. Compared to 2.2, adds a returnvalue for failures.
* Adds conversion routines for making characters upper/lower case since
the old array solution isn't practical past 8 bit.
* Sets CONFIG_NLS_DEFAULT to iso8859-1 by default since this value is
used as "iocharset" (= local display charset) and not as the
on-disk/remote codepage. 2.2 uses cp437.

nls16-new-charsets-2.4.0-test3-pre2.patch:
* New charsets from 2.2 + updated Configure.help
cp932 (sjis, euc-jp), cp936 (gb2312), cp949 (euc-kr), cp950 (big5)
You only need this if you want to use these charsets, applies on top of
the other nls16-* patch.

abc-charset.patch:
* For testing fs handling of 16bit nls on an iso8859-1 display, doubles
all a-zA-Z characters. You probably don't need this.


The patches are a bit to large to send to the list. For now they can be
downloaded from here:
http://www.hojdpunkten.ac.se/054/nls16-2.4.0-test3-pre2.patch.gz
(6843 bytes)
http://www.hojdpunkten.ac.se/054/nls16-new-charsets-2.4.0-test3-pre2.patch.gz
(508184 bytes)
http://www.hojdpunkten.ac.se/054/abc-charset.patch
(14291 bytes)


Notes:
------

vfat:
+ Assumes that the on-disk characters are always 1 byte.
(makes things simpler and I believe it is true).
+ Tested ok with "abc" charset and compared output in dosemu.
(aauuttooeexxeecc.bbaatt, looks almost like finnish ... :)

joliet:
+ Tested ok: (I hope)
mkisofs -a -J -o ../cdrom.iso `pwd`
losetup /dev/loop0 <some_path>
mount -t iso9660 -o norock,iocharset=abc /dev/loop0 /mnt/tmp

ncpfs:
+ Assumes only 8bit nls codepages are used. Will most likely fail (not
crash, but fail) if the local page/charset is a 16bit charset.
+ Not tested, but very similar to the 2.2 change (and the previous version
of this that Petr thought was ok ... for 8bit that is)

ntfs:
+ Looks funny with it's own conversion routines (util.c: ntfs_dupuni288591)
I think it could be converted to use standard nls_ routines.
+ Not tested, but identical to the 2.2 change.
+ ntfs is wierd anyway ... linux/fs/ntfs/fs.c:
if(vol->nct & nct_utf8 & (nct_map | nct_uni_xlate)){
hmm ...


Other nls related patches I know of that have been "flying around" that
are not included:
+ make msdos fs support nls too in 2.4. This needs char2lower/upper
fixing as done by these patches, and I think Andrzej wanted more
testing.
+ make vfat nls in 2.2 work like vfat in 2.4. (Andrzej again)

/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/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.031 / U:0.988 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site