Roberto Ierusalimschy 19 年之前
父节点
当前提交
8173688542
共有 2 个文件被更改,包括 7 次插入6 次删除
  1. 5 4
      loslib.c
  2. 2 2
      luaconf.h

+ 5 - 4
loslib.c

@@ -1,5 +1,5 @@
 /*
-** $Id: loslib.c,v 1.15 2005/12/15 18:17:49 roberto Exp roberto $
+** $Id: loslib.c,v 1.16 2005/12/22 16:19:56 roberto Exp roberto $
 ** Standard Operating System library
 ** See Copyright Notice in lua.h
 */
@@ -21,6 +21,7 @@
 
 
 static int os_pushresult (lua_State *L, int i, const char *filename) {
+  int en = errno;  /* calls to Lua API may change this value */
   if (i) {
     lua_pushboolean(L, 1);
     return 1;
@@ -28,10 +29,10 @@ static int os_pushresult (lua_State *L, int i, const char *filename) {
   else {
     lua_pushnil(L);
     if (filename)
-      lua_pushfstring(L, "%s: %s", filename, strerror(errno));
+      lua_pushfstring(L, "%s: %s", filename, strerror(en));
     else
-      lua_pushfstring(L, "%s", strerror(errno));
-    lua_pushinteger(L, errno);
+      lua_pushfstring(L, "%s", strerror(en));
+    lua_pushinteger(L, en);
     return 3;
   }
 }

+ 2 - 2
luaconf.h

@@ -1,5 +1,5 @@
 /*
-** $Id: luaconf.h,v 1.78 2006/01/13 19:36:28 roberto Exp roberto $
+** $Id: luaconf.h,v 1.79 2006/01/23 19:51:43 roberto Exp roberto $
 ** Configuration file for Lua
 ** See Copyright Notice in lua.h
 */
@@ -541,7 +541,7 @@
 */
 
 /* On a Pentium, resort to a trick */
-#if !defined(LUA_ANSI) && !defined(__SSE2__) && \
+#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) && \
     (defined(__i386) || defined (_M_IX86) || defined(__i386__))
 union luai_Cast { double l_d; long l_l; };
 #define lua_number2int(i,d) \