From 9b45439860879dd282e6d0896c4ee8102febc7fd Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 26 Jan 2001 12:16:24 -0200 Subject: details --- lgc.c | 4 ++-- liolib.c | 14 ++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/lgc.c b/lgc.c index 189adc6a..67fee0e2 100644 --- a/lgc.c +++ b/lgc.c @@ -1,5 +1,5 @@ /* -** $Id: lgc.c,v 1.79 2001/01/25 16:45:36 roberto Exp roberto $ +** $Id: lgc.c,v 1.80 2001/01/26 13:18:00 roberto Exp roberto $ ** Garbage Collector ** See Copyright Notice in lua.h */ @@ -253,7 +253,7 @@ static void collecttable (lua_State *L) { static void checktab (lua_State *L, stringtable *tb) { - if (tb->nuse < (luint32)(tb->size/4) && tb->size > 10) + if (tb->nuse < (luint32)(tb->size/4) && tb->size > MINPOWER2) luaS_resize(L, tb, tb->size/2); /* table is too big */ } diff --git a/liolib.c b/liolib.c index e4851209..cb3325f0 100644 --- a/liolib.c +++ b/liolib.c @@ -1,5 +1,5 @@ /* -** $Id: liolib.c,v 1.100 2001/01/25 16:45:36 roberto Exp roberto $ +** $Id: liolib.c,v 1.101 2001/01/26 11:45:51 roberto Exp roberto $ ** Standard I/O (and system) library ** See Copyright Notice in lua.h */ @@ -306,14 +306,12 @@ static int io_read (lua_State *L) { luaL_checkstack(L, nargs+LUA_MINSTACK, "too many arguments"); success = 1; for (n = 1; n<=nargs && success; n++) { - const char *p = luaL_check_string(L, n); - if (p[0] != '*') { - if (lua_isnumber(L, n)) - success = read_chars(L, f, (size_t)lua_tonumber(L, n)); - else - lua_error(L, "read patterns are deprecated"); - } + if (lua_type(L, n) == LUA_TNUMBER) + success = read_chars(L, f, (size_t)lua_tonumber(L, n)); else { + const char *p = lua_tostring(L, n); + if (!p || p[0] != '*') + lua_error(L, "invalid `read' option"); switch (p[1]) { case 'n': /* number */ success = read_number(L, f); -- cgit v1.2.3-55-g6feb