From 9596c7f95d3ab990bb741107f7cf94ec5dff3e3b Mon Sep 17 00:00:00 2001 From: Diego Nehab Date: Thu, 21 Apr 2005 05:38:07 +0000 Subject: Bug in forward.lua. Wasn't breaking from the loop. --- src/ftp.lua | 4 ++-- src/tcp.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/ftp.lua b/src/ftp.lua index 9b7c1e5..a793298 100644 --- a/src/ftp.lua +++ b/src/ftp.lua @@ -105,7 +105,7 @@ function metat.__index:send(sendt) if self.pasvt then self:pasvconnect() end -- get the transfer argument and command local argument = sendt.argument or - url.unescape(string.gsub(sendt.path or "", "^/", "")) + url.unescape(string.gsub(sendt.path or "", "^[/\\]", "")) if argument == "" then argument = nil end local command = sendt.command or "stor" -- send the transfer command and check the reply @@ -138,7 +138,7 @@ function metat.__index:receive(recvt) self.try(self.pasvt or self.server, "need port or pasv first") if self.pasvt then self:pasvconnect() end local argument = recvt.argument or - url.unescape(string.gsub(recvt.path or "", "^/", "")) + url.unescape(string.gsub(recvt.path or "", "^[/\\]", "")) if argument == "" then argument = nil end local command = recvt.command or "retr" self.try(self.tp:command(command, argument)) diff --git a/src/tcp.c b/src/tcp.c index eb84997..c79ddd1 100644 --- a/src/tcp.c +++ b/src/tcp.c @@ -213,13 +213,14 @@ static int meth_connect(lua_State *L) unsigned short port = (unsigned short) luaL_checknumber(L, 3); p_tm tm = tm_markstart(&tcp->tm); const char *err = inet_tryconnect(&tcp->sock, address, port, tm); + /* have to set the class even if it failed due to non-blocking connects */ + aux_setclass(L, "tcp{client}", 1); if (err) { lua_pushnil(L); lua_pushstring(L, err); return 2; } /* turn master object into a client object */ - aux_setclass(L, "tcp{client}", 1); lua_pushnumber(L, 1); return 1; } -- cgit v1.2.3-55-g6feb