diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/nixio/lua/nixio/util.lua | 11 | ||||
-rw-r--r-- | libs/nixio/src/file.c | 3 |
2 files changed, 10 insertions, 4 deletions
diff --git a/libs/nixio/lua/nixio/util.lua b/libs/nixio/lua/nixio/util.lua index 8ad4040d4..34800b454 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 13a40c499..7b65abdc1 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; } } |