diff options
| author | Miles Bader | 1996-07-02 16:27:07 +0000 |
|---|---|---|
| committer | Miles Bader | 1996-07-02 16:27:07 +0000 |
| commit | b443ba9a00f0af4714c352ec2881f084c2d2fa4e (patch) | |
| tree | b97bc6e315653e4aff3e3f4dae525d25350a0e8f | |
| parent | 837ee038c5d8eb65cda7ca47c3185b348e7f7e08 (diff) | |
| download | emacs-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.c | 11 |
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 | |||
| 2305 | msdos_downcase_filename (p) | 2305 | msdos_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++) |