diff options
-rw-r--r-- | lib/pure/asyncftpclient.nim | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/pure/asyncftpclient.nim b/lib/pure/asyncftpclient.nim index c1cfc6cc6..7bbfc2a35 100644 --- a/lib/pure/asyncftpclient.nim +++ b/lib/pure/asyncftpclient.nim @@ -131,12 +131,13 @@ type const multiLineLimit = 10000 proc expectReply(ftp: AsyncFtpClient): Future[TaintedString] {.async.} = - result = await ftp.csock.recvLine() + var line = await ftp.csock.recvLine() + result = TaintedString(line) var count = 0 - while result[3] == '-': + while line[3] == '-': ## Multi-line reply. - let line = await ftp.csock.recvLine() - result.add("\n" & line) + line = await ftp.csock.recvLine() + string(result).add("\n" & line) count.inc() if count >= multiLineLimit: raise newException(ReplyError, "Reached maximum multi-line reply count.") @@ -178,7 +179,7 @@ proc connect*(ftp: AsyncFtpClient) {.async.} = await ftp.csock.connect(ftp.address, ftp.port) var reply = await ftp.expectReply() - if reply.startsWith("120"): + if string(reply).startsWith("120"): # 120 Service ready in nnn minutes. # We wait until we receive 220. reply = await ftp.expectReply() |