Article View: mod.std.unix
Article #290Re: Case sensitive file names
From: Moderator, John Quarterman
Date: Thu, 09 Oct 1986 00:07
Date: Thu, 09 Oct 1986 00:07
50 lines
2999 bytes
2999 bytes
From: seismo!nbs-amrf!libes@sally.utexas.edu (Don Libes)
Date: Wed, 8 Oct 86 19:54:05 EDT
I write programs for both case-sensitive (CS) and case-insensitive
(CI) systems. As an applications programmer, I prefer case-sensitivity.
Why? Because my code on the CI system is full of calls to upper(),
lower(), isupper() and islower(), while the CS programs don't have
any of that. On the CS system, case is important - it would be a
mistake to map it either way.
On the other hand, take the CI system. If I have a user-supplied
filename, depending upon the system I may have to case-map it before
calling open. But suppose I'm reading a directory and I want to
match the filename against the entries. Now, I definitely have to
case-map it before doing a string comparison. Unless you want to
supply me with a filecmp() which is just a case-map wrapped around
a strcmp(). Seems silly.
Now you may think, I'm getting annoyed over one little case-map,
but as MRC points out, OSs tend to go about this in a big way. For
example, VMS has case-insensitive filenames, logical names, device
names, usernames, symbols, etc. Everytime I deal with an object,
the first thing I have to do is start worrying about case.
Depending upon the utility, library, language, etc I'm working with
I then have to start thinking if their interfaces are
case-sensitive or not. I find all of this quite annoying.
That is why, as an application programmer, I much prefer case-sensitivity.
Please don't tell me I am insensitive to users. I am not about to
argue here whether or not users have the intelligence to hold down
the shift key at the appropriate times.
As far as m/Mail, m/Makefile goes, the problem is not that users
find them easily confused. That should've been obvious to the
genius who reused the name. If you want, I can easily choose
filenames that you will find confusing, even in the same case.
As far as emulator's go, I daily use Eunice, which faces this very
problem of handling case-sensitive file names in a case-insensitive
environment. As far as case-mapping, their solution is very
elegant. (No other claims about the elegance of Eunice are
proffered here.) I.e. UNIX programs see a case-sensitive
filesystem. Further, they are also allowed arbitrary characters in
a filename, outside the legal VMS character set.)
Don Libes {seismo,umcp-cs}!nbs-amrf!libes
Volume-Number: Volume 7, Number 37
Technical Details
Message-ID:
<5959@ut-sally.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!seismo!ut-sally!std-unixShow Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!ut-sally!std-unix From: std-unix@ut-sally.UUCP (Moderator, John Quarterman) Newsgroups: mod.std.unix Subject: Re: Case sensitive file names Message-ID: <5959@ut-sally.UUCP> Date: Wed, 8-Oct-86 20:07:05 EDT Article-I.D.: ut-sally.5959 Posted: Wed Oct 8 20:07:05 1986 Date-Received: Thu, 9-Oct-86 03:45:34 EDT Organization: IEEE P1003 Portable Operating System for Computer Environments Committee Lines: 50 Approved: jsq@sally.utexas.edu