files should not be operated after fclose, even when fclose fails

This commit is contained in:
Roberto Ierusalimschy 2006-05-08 17:14:16 -03:00
parent fe8f4c06f1
commit 55e323190e
1 changed files with 3 additions and 3 deletions

View File

@ -1,5 +1,5 @@
/* /*
** $Id: liolib.c,v 2.71 2006/01/17 13:54:02 roberto Exp roberto $ ** $Id: liolib.c,v 2.72 2006/01/28 12:59:13 roberto Exp roberto $
** Standard I/O (and system) library ** Standard I/O (and system) library
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -99,7 +99,7 @@ static FILE **newfile (lua_State *L) {
static int io_pclose (lua_State *L) { static int io_pclose (lua_State *L) {
FILE **p = topfile(L); FILE **p = topfile(L);
int ok = lua_pclose(L, *p); int ok = lua_pclose(L, *p);
if (ok) *p = NULL; *p = NULL;
return pushresult(L, ok, NULL); return pushresult(L, ok, NULL);
} }
@ -107,7 +107,7 @@ static int io_pclose (lua_State *L) {
static int io_fclose (lua_State *L) { static int io_fclose (lua_State *L) {
FILE **p = topfile(L); FILE **p = topfile(L);
int ok = (fclose(*p) == 0); int ok = (fclose(*p) == 0);
if (ok) *p = NULL; *p = NULL;
return pushresult(L, ok, NULL); return pushresult(L, ok, NULL);
} }