summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lem/io/file.c4
-rw-r--r--lem/io/stream.c4
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;
}