aboutsummaryrefslogtreecommitdiff
path: root/liolib.c
diff options
context:
space:
mode:
Diffstat (limited to 'liolib.c')
-rw-r--r--liolib.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/liolib.c b/liolib.c
index 112a1fce..29c60f00 100644
--- a/liolib.c
+++ b/liolib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: liolib.c,v 2.45 2003/07/09 12:08:43 roberto Exp roberto $ 2** $Id: liolib.c,v 2.46 2003/08/25 19:49:47 roberto Exp roberto $
3** Standard I/O (and system) library 3** Standard I/O (and system) library
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -76,7 +76,7 @@ static int pushresult (lua_State *L, int i, const char *filename) {
76 lua_pushfstring(L, "%s: %s", filename, strerror(errno)); 76 lua_pushfstring(L, "%s: %s", filename, strerror(errno));
77 else 77 else
78 lua_pushfstring(L, "%s", strerror(errno)); 78 lua_pushfstring(L, "%s", strerror(errno));
79 lua_pushnumber(L, errno); 79 lua_pushinteger(L, errno);
80 return 3; 80 return 3;
81 } 81 }
82} 82}
@@ -346,7 +346,7 @@ static int g_read (lua_State *L, FILE *f, int first) {
346 success = 1; 346 success = 1;
347 for (n = first; nargs-- && success; n++) { 347 for (n = first; nargs-- && success; n++) {
348 if (lua_type(L, n) == LUA_TNUMBER) { 348 if (lua_type(L, n) == LUA_TNUMBER) {
349 size_t l = (size_t)lua_tonumber(L, n); 349 size_t l = (size_t)lua_tointeger(L, n);
350 success = (l == 0) ? test_eof(L, f) : read_chars(L, f, l); 350 success = (l == 0) ? test_eof(L, f) : read_chars(L, f, l);
351 } 351 }
352 else { 352 else {
@@ -441,13 +441,13 @@ static int f_seek (lua_State *L) {
441 static const char *const modenames[] = {"set", "cur", "end", NULL}; 441 static const char *const modenames[] = {"set", "cur", "end", NULL};
442 FILE *f = tofile(L, 1); 442 FILE *f = tofile(L, 1);
443 int op = luaL_findstring(luaL_optstring(L, 2, "cur"), modenames); 443 int op = luaL_findstring(luaL_optstring(L, 2, "cur"), modenames);
444 long offset = luaL_optlong(L, 3, 0); 444 lua_Integer offset = luaL_optinteger(L, 3, 0);
445 luaL_argcheck(L, op != -1, 2, "invalid mode"); 445 luaL_argcheck(L, op != -1, 2, "invalid mode");
446 op = fseek(f, offset, mode[op]); 446 op = fseek(f, offset, mode[op]);
447 if (op) 447 if (op)
448 return pushresult(L, 0, NULL); /* error */ 448 return pushresult(L, 0, NULL); /* error */
449 else { 449 else {
450 lua_pushnumber(L, ftell(f)); 450 lua_pushinteger(L, ftell(f));
451 return 1; 451 return 1;
452 } 452 }
453} 453}
@@ -528,7 +528,7 @@ static void createmeta (lua_State *L) {
528*/ 528*/
529 529
530static int io_execute (lua_State *L) { 530static int io_execute (lua_State *L) {
531 lua_pushnumber(L, system(luaL_checkstring(L, 1))); 531 lua_pushinteger(L, system(luaL_checkstring(L, 1)));
532 return 1; 532 return 1;
533} 533}
534 534
@@ -582,7 +582,7 @@ static int io_clock (lua_State *L) {
582 582
583static void setfield (lua_State *L, const char *key, int value) { 583static void setfield (lua_State *L, const char *key, int value) {
584 lua_pushstring(L, key); 584 lua_pushstring(L, key);
585 lua_pushnumber(L, value); 585 lua_pushinteger(L, value);
586 lua_rawset(L, -3); 586 lua_rawset(L, -3);
587} 587}
588 588
@@ -607,9 +607,9 @@ static int getfield (lua_State *L, const char *key, int d) {
607 lua_pushstring(L, key); 607 lua_pushstring(L, key);
608 lua_gettable(L, -2); 608 lua_gettable(L, -2);
609 if (lua_isnumber(L, -1)) 609 if (lua_isnumber(L, -1))
610 res = (int)(lua_tonumber(L, -1)); 610 res = (int)lua_tointeger(L, -1);
611 else { 611 else {
612 if (d == -2) 612 if (d < 0)
613 return luaL_error(L, "field `%s' missing in date table", key); 613 return luaL_error(L, "field `%s' missing in date table", key);
614 res = d; 614 res = d;
615 } 615 }
@@ -665,9 +665,9 @@ static int io_time (lua_State *L) {
665 ts.tm_sec = getfield(L, "sec", 0); 665 ts.tm_sec = getfield(L, "sec", 0);
666 ts.tm_min = getfield(L, "min", 0); 666 ts.tm_min = getfield(L, "min", 0);
667 ts.tm_hour = getfield(L, "hour", 12); 667 ts.tm_hour = getfield(L, "hour", 12);
668 ts.tm_mday = getfield(L, "day", -2); 668 ts.tm_mday = getfield(L, "day", -1);
669 ts.tm_mon = getfield(L, "month", -2) - 1; 669 ts.tm_mon = getfield(L, "month", -1) - 1;
670 ts.tm_year = getfield(L, "year", -2) - 1900; 670 ts.tm_year = getfield(L, "year", -1) - 1900;
671 ts.tm_isdst = getboolfield(L, "isdst"); 671 ts.tm_isdst = getboolfield(L, "isdst");
672 t = mktime(&ts); 672 t = mktime(&ts);
673 if (t == (time_t)(-1)) 673 if (t == (time_t)(-1))