Mail Archives: djgpp/1999/01/24/13:37:20
In article <Pine DOT SUN DOT 3 DOT 91 DOT 990124154845 DOT 25846A-100000 AT is>,
Eli Zaretskii <djgpp AT delorie DOT com> wrote:
>
>On Sun, 24 Jan 1999, Norman D. Megill wrote:
>
>> > Windows doesn't care whether it's AS.EXE or as.exe or aS.eXe--all file
>> > operations are case insensitive.
>>
>> Maybe standard Windows utilities, but the OS itself definitely does care -
>> that mere fact that the it's displayed in upper case in one instance and
>> in lower case in the other means the OS has internally distinguished them.
>
>You are confusing ``display'' and ``care''.
>
>Indeed, Windows sometimes (but not always!) displays the file names as
>they are recorded in the directory. But it doesn't ``care'' about the
>case, in the sense that the file will be found and operated upon no matter
>what the case is.
>
>> It is applications that may or may not distinguish them, depending on how
>> they are written. E.g.: My gnu port of "ls" shows:
>>
>> D:\mm>ls *.M
>> MLADEN.M WOS.M
>>
>> D:\mm>ls *.m
>> dan.m e.m miscellanous.m mladen2.m
>
>This isn't the DJGPP port of `ls', right? Because the DJGPP port
>would have shown you all the *.m and *.M files in the second case (it
>assumes that since you didn't use the upper-case explicitly, you don't
>care about the case). It would have also downcased these names in the
>second example (unless you explicitly tell it otherwise, by
>setting FNCASE=y in the environment).
>
>> Indeed this inconsistent treatment drives me nuts.
>
>DJGPP's internals work very hard indeed to try to hide at least some of
>these inconsistencies from you. That is another reason to use as many
>DJGPP-compiled programs as you can.
No, djgpp treats file names inconsistently. It ignores filename case
sometimes and not others:
D:\r>dir bug
Volume in drive D has no label
Volume Serial Number is 63AB-4B3F
Directory of D:\r
BUG C 124 01-20-99 6:07a bug.c
1 file(s) 124 bytes
0 dir(s) 415,465,472 bytes free
D:\r>gcc bug.c -o bug.exe
D:\r>gcc BUG.c -o bug.exe
D:\r>gcc BUG.C -o bug.exe
gcc.exe: installation problem, cannot exec `cc1plus': No such file or directory
(ENOENT)
While you might argue in favor of this, I would say this cute little
"feature" unnecessarily complicates the rules you have to learn while
creating another trap for the unsuspecting novice who gets BUG.C from a
Windows 3.1 floppy.
--Norm
- Raw text -