Skip site navigation (1)Skip section navigation (2)
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>