summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/streams.nim5
1 files changed, 4 insertions, 1 deletions
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)