walton%DEImos.Caltech.Edu@Hamlet.Caltech.Edu (03/26/86)
From: walton%DEImos.Caltech.Edu@Hamlet.Caltech.Edu
Pardon me if this bug has been reported already, but I've never seen it.
/* A file to demonstrate the Seek() bug. When run on any file in RAM:,
the Seek call returns -1. It always works if the file is on disk. */
#include <stdio.h>
#include <libraries/dos.h>
main(argc, argv)
int argc;
char **argv; {
struct FileHandle *in, Open();
long Read(), Seek();
char buffer;
if ( (in = Open(argv[1], MODE_OLDFILE)) != 0) {
/* The next line is the offender; replacing or following it with
Seek(in, 0L, OFFSET_END) gives the right answer */
while (Read(in, &buffer, 1L) >0);
printf("File %s has length %ld\n", argv[1],
Seek(in, 0L, OFFSET_CURRENT));
Close(in);
}
}
Steve Walton ARPA: walton%deimos@hamlet.caltech.edu
Caltech Solar Astronomy BITNET:swalton@caltech.bitnet
Physics DECNET: DEIMOS::WALTON UUCP: your guess is as good as mine...bruceb@amiga.UUCP (Bruce Barrett) (03/27/86)
>From: walton%DEImos.Caltech.Edu@Hamlet.Caltech.Edu > >Pardon me if this bug has been reported already, but I've never seen it. > PLEASE DO report bugs! I would say that generally they are useful to the entire net, but if you are feeling tinid at least send main to amiga.support (or me). Thanks. > >/* A file to demonstrate the Seek() bug. When run on any file in RAM:, > the Seek call returns -1. It always works if the file is on disk. */ This is a known bug (in 1.1 and 1.0??) It will be fixed for the next release. --Thanks, Bruce Barrett (Have you cleaned your mouse this week?)