A file stream now makes sure to only close its file descriptor once.

This commit is contained in:
Dominik Picheta 2013-04-07 13:40:01 +01:00
commit d26e488316

View file

@ -238,7 +238,10 @@ type
TFileStream* = object of TStream TFileStream* = object of TStream
f: TFile f: TFile
proc fsClose(s: PStream) = close(PFileStream(s).f) proc fsClose(s: PStream) =
if PFileStream(s).f != nil:
close(PFileStream(s).f)
PFileStream(s).f = nil
proc fsFlush(s: PStream) = flushFile(PFileStream(s).f) proc fsFlush(s: PStream) = flushFile(PFileStream(s).f)
proc fsAtEnd(s: PStream): bool = return EndOfFile(PFileStream(s).f) proc fsAtEnd(s: PStream): bool = return EndOfFile(PFileStream(s).f)
proc fsSetPosition(s: PStream, pos: int) = setFilePos(PFileStream(s).f, pos) proc fsSetPosition(s: PStream, pos: int) = setFilePos(PFileStream(s).f, pos)