diff options
author | Araq <rumpf_a@web.de> | 2014-09-14 11:27:14 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-09-14 11:27:14 +0200 |
commit | 05f09fafcffb8578b03fb719e7f8f0cdbae7ed99 (patch) | |
tree | b2541e03fa1b7e22e54dfe14b268173a997a0447 /lib/system/sysio.nim | |
parent | 838871b4d9ce4c6117ce8c8ec7aec744fcd5a264 (diff) | |
download | Nim-05f09fafcffb8578b03fb719e7f8f0cdbae7ed99.tar.gz |
fixed 'system.open' bug
Diffstat (limited to 'lib/system/sysio.nim')
-rw-r--r-- | lib/system/sysio.nim | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/system/sysio.nim b/lib/system/sysio.nim index 56de5e6e8..7908fbe4d 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) |