summaryrefslogtreecommitdiff
path: root/liolib.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2006-01-18 09:49:12 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2006-01-18 09:49:12 -0200
commitbaffc37f5c8d15c03da0ce689bdecadc1219fe99 (patch)
treee49318b4c37647d5d1b5dbfd857b01d7d94d44c3 /liolib.c
parent440113bbe8c44b160e11ee47f9b3b322ed1441fb (diff)
downloadlua-baffc37f5c8d15c03da0ce689bdecadc1219fe99.tar.gz
lua-baffc37f5c8d15c03da0ce689bdecadc1219fe99.tar.bz2
lua-baffc37f5c8d15c03da0ce689bdecadc1219fe99.zip
detail
Diffstat (limited to 'liolib.c')
-rw-r--r--liolib.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/liolib.c b/liolib.c
index fc059e2e..f55f7a63 100644
--- a/liolib.c
+++ b/liolib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: liolib.c,v 2.69 2005/10/19 13:05:11 roberto Exp roberto $ 2** $Id: liolib.c,v 2.70 2005/12/29 15:32:11 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*/
@@ -28,6 +28,7 @@ static const char *const fnames[] = {"input", "output"};
28 28
29 29
30static int pushresult (lua_State *L, int i, const char *filename) { 30static int pushresult (lua_State *L, int i, const char *filename) {
31 int en = errno; /* calls to Lua API may change this value */
31 if (i) { 32 if (i) {
32 lua_pushboolean(L, 1); 33 lua_pushboolean(L, 1);
33 return 1; 34 return 1;
@@ -35,10 +36,10 @@ static int pushresult (lua_State *L, int i, const char *filename) {
35 else { 36 else {
36 lua_pushnil(L); 37 lua_pushnil(L);
37 if (filename) 38 if (filename)
38 lua_pushfstring(L, "%s: %s", filename, strerror(errno)); 39 lua_pushfstring(L, "%s: %s", filename, strerror(en));
39 else 40 else
40 lua_pushfstring(L, "%s", strerror(errno)); 41 lua_pushfstring(L, "%s", strerror(en));
41 lua_pushinteger(L, errno); 42 lua_pushinteger(L, en);
42 return 3; 43 return 3;
43 } 44 }
44} 45}