From: Steven Barth Date: Sun, 15 Feb 2009 13:59:30 +0000 (+0000) Subject: More nixio fixes X-Git-Tag: 0.9.0~672 X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=695361877cd094b1d8d15f3f4d8018eef2bc7b03;p=project%2Fluci.git More nixio fixes --- diff --git a/libs/nixio/lua/nixio/util.lua b/libs/nixio/lua/nixio/util.lua index 8ad4040d4a..34800b4541 100644 --- a/libs/nixio/lua/nixio/util.lua +++ b/libs/nixio/lua/nixio/util.lua @@ -21,11 +21,13 @@ module "nixio.util" local BUFFERSIZE = 8096 local socket = nixio.socket_meta -function socket.readall(self, len) +function socket.recvall(self, len) local block, code, msg = self:recv(len) if not block then return "", code, msg, len + elseif #block == 0 then + return "", nil, nil, len end local data, total = {block}, #block @@ -35,6 +37,8 @@ function socket.readall(self, len) if not block then return data, code, msg, len - #data + elseif #block == 0 then + return data, nil, nil, len - #data end data[#data+1], total = block, total + #block @@ -66,11 +70,12 @@ end function socket.linesource(self, limit) limit = limit or BUFFERSIZE local buffer = "" + local bpos = 0 return function(flush) - local bpos, line, endp, _ = 0 + local line, endp, _ if flush then - line = buffer + line = buffer:sub(bpos + 1) buffer = "" return line end diff --git a/libs/nixio/src/file.c b/libs/nixio/src/file.c index 13a40c4999..7b65abdc12 100644 --- a/libs/nixio/src/file.c +++ b/libs/nixio/src/file.c @@ -76,7 +76,8 @@ static int nixio_file_write(lua_State *L) { if (written < 0) { return nixio__perror(L); } else { - return written; + lua_pushnumber(L, written); + return 1; } }