elvis on a PC - Quick-C
Gene Daniel
gened at gssc.UUCP
Fri Aug 31 18:01:59 AEST 1990
In article <6887 at vax1.acs.udel.EDU> bruschke at vax1.udel.edu (Michiel Bruschke) writes:
>
>In article 2160 of alt.sources Marvin Kraska writes:
>
>> However, I have noticed that on the PC, lost clusters are reported
>>by "chkdsk" on the drive that the temporary file is placed. Sure
>>enough, the recovered file is elvis's temp. I glanced at the tmp.c
>>code, and didn't see anything obvious.
>
>I noticed exactly the same thing on my system. I compiled elvis
>using Quick-C. Elvis copies the tmp file to the new file, but
>then somehow improperly deletes the tmp files. It seems to do
>this with all tmp files it opens, cut buffers as well as regular
>tmp file. Will take a closer look at source to see if I can figure
>it out (probably over weekend).
>
>So if you use elvis be sure to run chkdsk /f afterwards.
>
>Mike Bruschke
I also found this. I found it both with MSC and with Zortech so it wasn't
the compiler. Some time back I discovered that deleting an open file
causes unallocated clusters. This is apparently the cause of the lost
clusters from Elvis.
I was able to fix it by placeing the following two lines just before
the rename() call in the routine cutswitch() in the file cut.c:
close(tmpfd);
tmpfd = -1;
The only other access to this file is after it is renamed to a cut
buffer file and this is done through a dup'ed file descriptor. I have
sent this information to Steve Kirkendall, the author of Elvis, so
the "official" patch should soon be on it's way. I have been using
Elvis with this fix and named cut buffers between files seem to be
working alright and no more unallocated clusters.
--
Gene Daniel | gened at gss.com
Graphic Software Systems, Inc. | or
P.O. Box 4900 | ..!tektronix!sequent!gssc!gened
Beaverton, Oregon 97005-7161 |
More information about the Alt.sources
mailing list