[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: opendir() on VFAT



Hi Yves,

the following patch is missing in your PL48-patch directory:

--- opendir.c.old	Thu Aug 28 22:58:48 1997
+++ opendir.c	Fri Jul 24 22:18:46 1998
@@ -64,7 +64,7 @@

 			/* test if the file system is case sensitive */
 			r = Dpathconf(name, 6);
-			if (r > 0)
+			if (r == 1)
 				d->status = _NO_CASE;
 			else
 				d->status = 0;

On Tue, 14 Jul 1998 09:33:12 +0200, Christian Felsch wrote:

CF>Hi!
CF>
CF>I've got a question to readdir() on NEWFATFS:
CF>Is it ok, that this function delivers lowercase filenames when reading
CF>it from VFAT? opendir() do the following check when opening a directory:
CF>
CF>        /* test if the file system is case sensitive */
CF>        r = Dpathconf(name, 6);
CF>        if (r > 0)
CF>                d->status = _NO_CASE;
CF>        else
CF>                d->status = 0;
CF>
CF>If status is _NO_CASE, readdir() lowers the filename before returing it.
CF>What's about changing the check in opendir() to (r == 1)? With this
CF>check upper/mixed-case filenames will be kept e.g. when copying
CF>recursivly with `cp -r dir` from one VFAT to another.
CF>
CF>Any comments? IMO there is only one big disadvantge of this patch: all
CF>programs which use opendir() have had to recompile :-(
CF>
CF> Chris.
CF>
CF>------------------------------------------------------------------------
CF> Christian Felsch   email: felsch@tu-harburg.de         (Big mails, uue)
CF> Bevenser Weg 18           christian_felsch@hh.maus.de  (Mails < 16K)
CF> 21079 Hamburg
CF> Germany            WWW  : http://www.tu-harburg.de/~smcf1605/
CF>------------------------------------------------------------------------
CF>
CF>
CF>
--
E-mail: stehlik@cas3.zlin.vutbr.cz                        PARCP developer
   WWW: http://cas3.zlin.vutbr.cz/~stehlik/              MiNTOS/Linux user
mirror: http://users.zln.cz/~pstehlik/                 Atari 800XL emulation
mirror: http://www.stehlik.cyberstrider.org/              Atari Falcon040