From 05f09fafcffb8578b03fb719e7f8f0cdbae7ed99 Mon Sep 17 00:00:00 2001 From: Araq Date: Sun, 14 Sep 2014 11:27:14 +0200 Subject: [PATCH] fixed 'system.open' bug --- lib/system/sysio.nim | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/system/sysio.nim b/lib/system/sysio.nim index 56de5e6e80..7908fbe4dd 100644 --- a/lib/system/sysio.nim +++ b/lib/system/sysio.nim @@ -215,13 +215,13 @@ proc open(f: var File, filename: string, mode: FileMode = fmRead, bufSize: int = -1): bool = var p: pointer = fopen(filename, FormatOpen[mode]) - result = (p != nil) - f = cast[File](p) - if bufSize > 0 and bufSize <= high(cint).int: - if setvbuf(f, nil, IOFBF, bufSize.cint) != 0'i32: - sysFatal(OutOfMemError, "out of memory") - elif bufSize == 0: - discard setvbuf(f, nil, IONBF, 0) + if p != nil: + result = true + f = cast[File](p) + if bufSize > 0 and bufSize <= high(cint).int: + discard setvbuf(f, nil, IOFBF, bufSize.cint) + elif bufSize == 0: + discard setvbuf(f, nil, IONBF, 0) proc reopen(f: File, filename: string, mode: FileMode = fmRead): bool = var p: pointer = freopen(filename, FormatOpen[mode], f)