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>