From 695361877cd094b1d8d15f3f4d8018eef2bc7b03 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Sun, 15 Feb 2009 13:59:30 +0000 Subject: [PATCH] More nixio fixes --- libs/nixio/lua/nixio/util.lua | 11 ++++++++--- 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; } } -- 2.11.0