aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader1996-07-02 16:27:07 +0000
committerMiles Bader1996-07-02 16:27:07 +0000
commitb443ba9a00f0af4714c352ec2881f084c2d2fa4e (patch)
treeb97bc6e315653e4aff3e3f4dae525d25350a0e8f
parent837ee038c5d8eb65cda7ca47c3185b348e7f7e08 (diff)
downloademacs-b443ba9a00f0af4714c352ec2881f084c2d2fa4e.tar.gz
emacs-b443ba9a00f0af4714c352ec2881f084c2d2fa4e.zip
(msdos_downcase_filename):
Always lower-case drive letters, even on systems that preserve case in filenames.
-rw-r--r--src/msdos.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/msdos.c b/src/msdos.c
index a157e1c84bc..9577e04f569 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -2305,6 +2305,17 @@ void
2305msdos_downcase_filename (p) 2305msdos_downcase_filename (p)
2306 register unsigned char *p; 2306 register unsigned char *p;
2307{ 2307{
2308 /* Always lower-case drive letters a-z, even if the filesystem
2309 preserves case in filenames.
2310 This is so MSDOS filenames could be compared by string comparison
2311 functions that are case-sensitive. Even case-preserving filesystems
2312 do not distinguish case in drive letters. */
2313 if (p[1] == ':' && *p >= 'A' && *p <= 'Z')
2314 {
2315 *p += 'a' - 'A';
2316 p += 2;
2317 }
2318
2308 /* Under LFN we expect to get pathnames in their true case. */ 2319 /* Under LFN we expect to get pathnames in their true case. */
2309 if (NILP (Fmsdos_long_file_names ())) 2320 if (NILP (Fmsdos_long_file_names ()))
2310 for ( ; *p; p++) 2321 for ( ; *p; p++)