static int io_open (lua_State *L) { const char *filename = luaL_checkstring(L, 1); const char *mode = luaL_optstring(L, 2, "r"); LStream *p = newfile(L); const char *md = mode; /* to traverse/check mode */ luaL_argcheck(L, l_checkmode(md), 2, "invalid mode"); p->f = fopen(filename, mode); return (p->f == NULL) ? luaL_fileresult(L, 0, filename) : 1; }
int io_open(lua_State* L) { const char *mode = luaL_optstring(L, 2, "r"); luaL_argcheck(L, l_checkmode(mode), 2, "invalid mode"); return createfile(L, mode); }