Date: Sun, 26 Apr 2009 14:55:26 +0100 From: Frank Mitchell <mitchell@wyatt672earp.force9.co.uk> To: freebsd-hackers@freebsd.org, freebsd-drivers@freebsd.org Subject: cd9660 Lowercasing Message-ID: <200904261455.26952.mitchell@wyatt672earp.force9.co.uk>
next in thread | raw e-mail | index | archive | help
I've developed a CD/DVD Backup Utility using the Enhanced Volume Descriptor
specified in ISO9660:1999. It doesn't have Rock Ridge yet, so the first thing
you notice on mounting is the automatic Lowercase, which interferes with
Backup Verification using "diff -qr". There's a simple solution using
the "gens" mount option, which has Case Preservation as a side-effect, but
it's still annoying.
There must be some reason behind it, because NetBSD and Linux have a similar
feature, with options to disable it like: "nomaplcase" and "map=off". But
their manpages make it look like a throwback to MS-DOS, and a time when all
filenames were accessed from the Primary Volume Descriptor. By default you
can't have filenames in ASCII using the Supplementary or Enhanced Volume
Descriptors either.
I think I tracked this feature down to cd9660_util.c, in Function isofntrans,
around Line 200:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
for (; infn != infnend; ) {
infn += isochar(infn, infnend, joliet_level, &c, &clen, flags, handle);
if (!original && !joliet_level && c >= 'A' && c <= 'Z')
c += ('a' - 'A');
else if (!original && c == ';') {
outp -= (d == '.');
break;
}
d = c;
while(clen--)
*outp++ = c >> (clen << 3);
}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
This only alters ASCII characters. Accented uppercase letters from the top
half of ISO8859-1 are unaffected. And it doesn't apply to Joliet either. I
don't see the point. Why not just zap it away?
Yours Truly: Frank Mitchell
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904261455.26952.mitchell>
