From 0b0c4006ace26c3d26a666cb012c25e844ed380c Mon Sep 17 00:00:00 2001 From: Emil Renner Berthing Date: Tue, 5 Feb 2013 22:01:34 +0100 Subject: io: fix empty string skipping code --- lem/io/file.c | 4 ++-- lem/io/stream.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lem/io/file.c b/lem/io/file.c index e3289a1..c9f675a 100644 --- a/lem/io/file.c +++ b/lem/io/file.c @@ -258,7 +258,7 @@ file_write(lua_State *T) idx = 1; do { str = luaL_checklstring(T, ++idx, &len); - } while (len == 0 && idx <= top); + } while (len == 0 && idx < top); for (i = idx+1; i <= top; i++) (void)luaL_checkstring(T, i); @@ -267,7 +267,7 @@ file_write(lua_State *T) return io_closed(T); if (f->a.T != NULL) return io_busy(T); - if (idx > top) { + if (len == 0) { lua_pushboolean(T, 1); return 1; } diff --git a/lem/io/stream.c b/lem/io/stream.c index cfbc1ed..efa2781 100644 --- a/lem/io/stream.c +++ b/lem/io/stream.c @@ -275,7 +275,7 @@ stream_write(lua_State *T) idx = 1; do { out = luaL_checklstring(T, ++idx, &out_len); - } while (out_len == 0 && idx <= top); + } while (out_len == 0 && idx < top); for (i = idx+1; i <= top; i++) (void)luaL_checkstring(T, i); @@ -284,7 +284,7 @@ stream_write(lua_State *T) return io_closed(T); if (s->w.data != NULL) return io_busy(T); - if (idx > top) { + if (out_len == 0) { lua_pushboolean(T, 1); return 1; } -- cgit v1.2.1