Commit ce54e838922b19feeab648bbc967b58299163d9c

Authored by Göran Krampe
1 parent 8ae119dc

Fix broken merge, putting readAllX back.

Showing 1 changed file with 16 additions and 1 deletions
blimp.nim
... ... @@ -127,6 +127,21 @@ proc expandDirs(templ: string): string =
127 127 if gitRootDir.isNil: quit("Not in a git clone, can not expand %gitroot% in '" & templ & "'")
128 128 result = result.replace("%gitroot%", gitRootDir)
129 129  
  130 +# Copy of readAllBuffer from sysio.nim - we need to call it
  131 +# instead of readAll(stdin) which doesn't work on Windows. readAll
  132 +# first tries to find file size, and that trips up Windows.
  133 +proc readAllX(file: File): string =
  134 + result = ""
  135 + var buffer = newString(4096)
  136 + while true:
  137 + var read = readBuffer(file, addr(buffer[0]), 4096)
  138 + if read == 4096:
  139 + result.add(buffer)
  140 + else:
  141 + buffer.setLen(read)
  142 + result.add(buffer)
  143 + break
  144 +
130 145 # Load a blimp.conf file
131 146 proc parseConfFile(filename: string) =
132 147 var f = newFileStream(filename, fmRead)
... ... @@ -495,7 +510,7 @@ area = args["area"].asString
495 510 if stdio:
496 511 verbose = false
497 512 try:
498   - stdinContent = readAll(stdin)
  513 + stdinContent = readAllX(stdin)
499 514 close(stdin)
500 515 except:
501 516 quit("Failed reading stdin", 1)
... ...