Date: Tue, 10 Sep 1996 16:32:28 +0200 (METDST) From: Robert Hoehne <robert DOT hoehne AT Mathematik DOT TU-Chemnitz DOT DE> To: DJ Delorie <dj AT delorie DOT com> Cc: djgpp-workers AT delorie DOT com Subject: Re: V2 alpha 980908 -- stat.c In-Reply-To: <199609090348.XAA28882@delorie.com> Message-Id: <Pine.HPP.3.91.960910163112.26979A-100000@newton.mathematik.tu-chemnitz.de> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE I found, that the current implementation of stat has a big bug, but I have not the time and the knowlage, to search for it. I have tested it in several cases and include here the resulting outputs: In my opinion the bug has something to do with no correct identifying a drive, which is created with subst and also some wrong things, when I start the program 'stat.exe' with or without redir. ( stat.exe is created from the file stat.c from the last snapshot in ftp://ftp.delorie.com/pub/djgpp/dl/alpha/960809/djlsr201.zip with gcc -o stat.exe -DTEST stat.c )=20 My configuration is, that I have created the drive s: with subst c:\src s: In the raw MS-DOS mode I use smartdrv as disk cache and in Windows 95 no disk cache program, because it has a good builtin disk cache. The following outputs are created under the following configurations with the command: redir -e ../<file> -oe test.bat ----------file: test.bat-------- stat.exe 0 test.bat redir stat.exe 0 test.bat redir c:\command.com /c stat.exe 0 test.bat dir -------------------------------- (The location of the directory came from the fact, that I found this when I tried to build make-3.74) file dos7_c.95: DOS-box in Windows 95 with LFN=3Dn, cwd=3Dc:\src\gnu\make-3.74\t file dos7_s.95: DOS-box in Windows 95 with LFN=3Dn, cwd=3Ds:\gnu\make-3.74\t file dos7_c: Windows 95 in raw DOS mode: cwd=3Dc:\src\gnu\make-3.74\t file dos7_s: Windows 95 in raw DOS mode: cwd=3Ds:\gnu\make-3.74\t file dos6_c: Raw MS-DOS 6.0: cwd=3Dc:\src\gnu\make-3.74\t file dos6_s: Raw MS-DOS 6.0: cwd=3Ds:\gnu\make-3.74\t ------file dos7_c.95-------- C:\SRC\GNU\MAKE-3.74\T>stat.exe 0 test.bat DOS 7.0 (Microsoft MS-DOS) test.bat: 2 65537 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Cannot find SDA entry which corresponds to pathname (bad SDA pointer?) Failed to get starting cluster number; inode defaults to hashing (if no other messages were printed, then this is either an empty file on a local disk drive, or a file on a networked drive, or you run under some kind of DOS clone) C:\SRC\GNU\MAKE-3.74\T>redir stat.exe 0 test.bat DOS 7.0 (Microsoft MS-DOS) test.bat: 2 65537 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Cannot find SDA entry which corresponds to pathname (bad SDA pointer?) Failed to get starting cluster number; inode defaults to hashing (if no other messages were printed, then this is either an empty file on a local disk drive, or a file on a networked drive, or you run under some kind of DOS clone) C:\SRC\GNU\MAKE-3.74\T>redir c:\command.com /c stat.exe 0 test.bat DOS 7.0 (Microsoft MS-DOS) test.bat: 2 65537 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Cannot find SDA entry which corresponds to pathname (bad SDA pointer?) Failed to get starting cluster number; inode defaults to hashing (if no other messages were printed, then this is either an empty file on a local disk drive, or a file on a networked drive, or you run under some kind of DOS clone) C:\SRC\GNU\MAKE-3.74\T>dir Datentraeger in Laufwerk C: hei=DFt MS-DOS_6 =20 Seriennummer des Datentraegers: 2069-B803 Verzeichnis von C:\SRC\GNU\MAKE-3.74\T . <DIR> 10.09.96 15:05 . .. <DIR> 10.09.96 15:05 .. TEST BAT 98 10.09.96 15:16 TEST.BAT STAT EXE 98.692 10.09.96 15:01 STAT.EXE 2 Datei(en) 98.790 Bytes 2 Verzeichnis(se) 32.989.184 Bytes frei C:\SRC\GNU\MAKE-3.74\T> ---------------------------- ------file dos7_s.95-------- S:\GNU\MAKE-3.74\T>stat.exe 0 test.bat DOS 7.0 (Microsoft MS-DOS) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK S:\GNU\MAKE-3.74\T>redir stat.exe 0 test.bat DOS 0.0 ((null)) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK S:\GNU\MAKE-3.74\T>redir c:\command.com /c stat.exe 0 test.bat DOS 7.0 (Microsoft MS-DOS) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK S:\GNU\MAKE-3.74\T>dir Datentraeger in Laufwerk S: hei=DFt MS-DOS_6 =20 Seriennummer des Datentraegers: 2069-B803 Verzeichnis von S:\GNU\MAKE-3.74\T . <DIR> 10.09.96 15:05 . .. <DIR> 10.09.96 15:05 .. TEST BAT 98 10.09.96 15:16 TEST.BAT STAT EXE 98.692 10.09.96 15:01 STAT.EXE 2 Datei(en) 98.790 Bytes 2 Verzeichnis(se) 32.989.184 Bytes frei S:\GNU\MAKE-3.74\T> ---------------------------- ------file dos7_c----------- C:\SRC\GNU\MAKE-3.74\T>stat.exe 0 test.bat DOS 7.0 (Microsoft MS-DOS) test.bat: 2 33143 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Everything checks out OK C:\SRC\GNU\MAKE-3.74\T>redir stat.exe 0 test.bat DOS 7.0 (Microsoft MS-DOS) test.bat: 2 33143 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Everything checks out OK C:\SRC\GNU\MAKE-3.74\T>redir c:\command.com /c stat.exe 0 test.bat DOS 7.0 (Microsoft MS-DOS) test.bat: 2 33143 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Everything checks out OK C:\SRC\GNU\MAKE-3.74\T>dir Datentraeger in Laufwerk C: hei=DFt MS-DOS_6 =20 Seriennummer des Datentraegers: 2069-B803 Verzeichnis von C:\SRC\GNU\MAKE-3.74\T . <DIR> 10.09.96 15:05 .. <DIR> 10.09.96 15:05 TEST BAT 98 10.09.96 15:16 STAT EXE 98.692 10.09.96 15:01 2 Datei(en) 98.790 Bytes 2 Verzeichnis(se) 19.156.992 Bytes frei C:\SRC\GNU\MAKE-3.74\T> ---------------------------- ------file dos7_s----------- S:\GNU\MAKE-3.74\T>stat.exe 0 test.bat DOS 0.0 ((null)) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK S:\GNU\MAKE-3.74\T>redir stat.exe 0 test.bat DOS 0.0 ((null)) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK S:\GNU\MAKE-3.74\T>redir c:\command.com /c stat.exe 0 test.bat DOS 0.0 ((null)) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK S:\GNU\MAKE-3.74\T>dir Datentraeger in Laufwerk S: hei=DFt MS-DOS_6 =20 Seriennummer des Datentraegers: 2069-B803 Verzeichnis von S:\GNU\MAKE-3.74\T . <DIR> 10.09.96 15:05 .. <DIR> 10.09.96 15:05 TEST BAT 98 10.09.96 15:16 STAT EXE 98.692 10.09.96 15:01 2 Datei(en) 98.790 Bytes 2 Verzeichnis(se) 19.152.896 Bytes frei S:\GNU\MAKE-3.74\T> ---------------------------- ------file dos6_c----------- stat.exe 0 test.bat DOS 6.0 (Microsoft MS-DOS) test.bat: 2 33143 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Everything checks out OK redir stat.exe 0 test.bat DOS 6.0 (Microsoft MS-DOS) test.bat: 2 33143 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Everything checks out OK redir c:\command.com /c stat.exe 0 test.bat DOS 6.0 (Microsoft MS-DOS) test.bat: 2 33143 755 1 42 98 842368562 Tue Sep 10 15:16:02 1996 Everything checks out OK dir Datentraeger in Laufwerk C ist MS-DOS_6 Seriennummer ist 2069:B803 Verzeichnis von c:\src\gnu\make-3.74\t\*.* . <DIR> 10.09.96 15:05=20 .. <DIR> 10.09.96 15:05=20 stat.exe 98692 10.09.96 15:01=20 test.bat 98 10.09.96 15:16=20 98.790 Bytes in 4 Datei(en) 106.496 Bytes zugeordnet 37.883.904 Bytes frei ---------------------------- ------file dos6_c----------- stat.exe 0 test.bat DOS 0.0 ((null)) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK redir stat.exe 0 test.bat DOS 0.0 ((null)) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK redir c:\command.com /c stat.exe 0 test.bat DOS 0.0 ((null)) test.bat: lossage : No such file or directory (ENOENT) Everything checks out OK dir Datentraeger in Laufwerk S ist MS-DOS_6 Seriennummer ist 2069:B803 Verzeichnis von s:\gnu\make-3.74\t\*.* . <DIR> 10.09.96 15:05=20 .. <DIR> 10.09.96 15:05=20 stat.exe 98692 10.09.96 15:01=20 test.bat 98 10.09.96 15:16=20 98.790 Bytes in 4 Datei(en) 106.496 Bytes zugeordnet 37.883.904 Bytes frei ---------------------------- Robert