Use defer in iterator to avoid possible leaks. Fixes #3802

This commit is contained in:
Pavel Roschin 2016-02-02 23:20:39 +03:00
commit 17dff030ae
2 changed files with 5 additions and 5 deletions

View file

@ -2960,9 +2960,9 @@ when not defined(JS): #and not defined(nimscript):
## buffer.add(line.replace("a", "0") & '\x0A')
## writeFile(filename, buffer)
var f = open(filename, bufSize=8000)
defer: close(f)
var res = TaintedString(newStringOfCap(80))
while f.readLine(res): yield res
close(f)
iterator lines*(f: File): TaintedString {.tags: [ReadIOEffect].} =
## Iterate over any line in the file `f`.