From d26e4883165cef1e6171094590021c0a674eccbf Mon Sep 17 00:00:00 2001 From: Dominik Picheta Date: Sun, 7 Apr 2013 13:40:01 +0100 Subject: A file stream now makes sure to only close its file descriptor once. --- lib/pure/streams.nim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/pure') diff --git a/lib/pure/streams.nim b/lib/pure/streams.nim index 581db3163..4a196127c 100644 --- a/lib/pure/streams.nim +++ b/lib/pure/streams.nim @@ -238,7 +238,10 @@ type TFileStream* = object of TStream 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 fsAtEnd(s: PStream): bool = return EndOfFile(PFileStream(s).f) proc fsSetPosition(s: PStream, pos: int) = setFilePos(PFileStream(s).f, pos) -- cgit 1.4.1-2-gfad0