27static const char *
const fnames[] = {
"input",
"output"};
54#define tofilep(L) ((FILE **)luaL_checkudata(L, 1, LUA_FILEHANDLE))
64 else if (*((FILE **)ud) ==
NULL)
121 int ok = (fclose(*p) == 0);
165 *pf = fopen(filename, mode);
205 *pf = fopen(filename, mode);
257 *pf = fopen(filename,
"r");
305 if (l == 0 || p[l-1] !=
'\n')
324 if (rlen > n) rlen = n;
325 nr =
fread(p,
sizeof(
char), rlen, f);
328 }
while (n > 0 && nr == rlen);
346 for (n = first; nargs-- && success; n++) {
399 if (sucess)
return 1;
416 for (; nargs--;
arg++) {
425 status = status && (
fwrite(
s,
sizeof(
char), l, f) == l);
443 static const int mode[] = {SEEK_SET, SEEK_CUR, SEEK_END};
444 static const char *
const modenames[] = {
"set",
"cur",
"end",
NULL};
448 op = fseek(f, offset, mode[op]);
459 static const int mode[] = {_IONBF, _IOFBF, _IOLBF};
460 static const char *
const modenames[] = {
"no",
"full",
"line",
NULL};
464 int res = setvbuf(f,
NULL, mode[op], sz);
CURL_EXTERN int void * arg
LUA_API void lua_pushcclosure(lua_State *L, lua_CFunction fn, int n)
LUA_API int lua_setmetatable(lua_State *L, int objindex)
LUA_API void lua_pushnil(lua_State *L)
LUA_API void lua_pushnumber(lua_State *L, lua_Number n)
LUA_API const char * lua_pushfstring(lua_State *L, const char *fmt,...)
LUA_API void lua_setfield(lua_State *L, int idx, const char *k)
LUA_API int lua_toboolean(lua_State *L, int idx)
LUA_API int lua_getmetatable(lua_State *L, int objindex)
LUA_API void lua_pushboolean(lua_State *L, int b)
LUA_API void lua_pushvalue(lua_State *L, int idx)
LUA_API int lua_type(lua_State *L, int idx)
LUA_API void lua_createtable(lua_State *L, int narray, int nrec)
LUA_API void lua_rawseti(lua_State *L, int idx, int n)
LUA_API size_t lua_objlen(lua_State *L, int idx)
LUA_API void lua_getfenv(lua_State *L, int idx)
LUA_API void * lua_touserdata(lua_State *L, int idx)
LUA_API int lua_rawequal(lua_State *L, int index1, int index2)
LUA_API void lua_pushlstring(lua_State *L, const char *s, size_t len)
LUA_API void lua_settop(lua_State *L, int idx)
LUA_API void lua_pushinteger(lua_State *L, lua_Integer n)
LUA_API void lua_rawgeti(lua_State *L, int idx, int n)
LUA_API void lua_getfield(lua_State *L, int idx, const char *k)
LUA_API lua_CFunction lua_tocfunction(lua_State *L, int idx)
LUA_API int lua_setfenv(lua_State *L, int idx)
LUA_API int lua_gettop(lua_State *L)
LUALIB_API void luaL_buffinit(lua_State *L, luaL_Buffer *B)
LUALIB_API void luaL_checkstack(lua_State *L, int space, const char *mes)
LUALIB_API int luaL_newmetatable(lua_State *L, const char *tname)
LUALIB_API void luaL_pushresult(luaL_Buffer *B)
LUALIB_API int luaL_error(lua_State *L, const char *fmt,...)
LUALIB_API void luaL_checkany(lua_State *L, int narg)
LUALIB_API lua_Integer luaL_optinteger(lua_State *L, int narg, lua_Integer def)
LUALIB_API const char * luaL_checklstring(lua_State *L, int narg, size_t *len)
LUALIB_API void luaL_register(lua_State *L, const char *libname, const luaL_Reg *l)
LUALIB_API int luaL_checkoption(lua_State *L, int narg, const char *def, const char *const lst[])
LUALIB_API int luaL_argerror(lua_State *L, int narg, const char *extramsg)
#define luaL_getmetatable(L, n)
#define luaL_addsize(B, n)
#define luaL_optlong(L, n, d)
#define luaL_optstring(L, n, d)
#define luaL_checkstring(L, n)
#define luaL_argcheck(L, cond, numarg, extramsg)
static int io_tmpfile(lua_State *L)
static int aux_close(lua_State *L)
static int io_close(lua_State *L)
static int read_line(lua_State *L, FILE *f)
static int io_type(lua_State *L)
static void createmeta(lua_State *L)
static int io_flush(lua_State *L)
static void createstdfile(lua_State *L, FILE *f, int k, const char *fname)
static int io_output(lua_State *L)
static int io_read(lua_State *L)
static int read_number(lua_State *L, FILE *f)
static const char *const fnames[]
static int read_chars(lua_State *L, FILE *f, size_t n)
static int io_fclose(lua_State *L)
static int f_lines(lua_State *L)
static void newfenv(lua_State *L, lua_CFunction cls)
static int io_noclose(lua_State *L)
static FILE * tofile(lua_State *L)
static const luaL_Reg flib[]
static int io_input(lua_State *L)
static int g_write(lua_State *L, FILE *f, int arg)
static void fileerror(lua_State *L, int arg, const char *filename)
static int io_popen(lua_State *L)
static const luaL_Reg iolib[]
static int io_tostring(lua_State *L)
static FILE ** newfile(lua_State *L)
static int f_setvbuf(lua_State *L)
static int io_gc(lua_State *L)
static int io_lines(lua_State *L)
static int io_open(lua_State *L)
LUALIB_API int luaopen_io(lua_State *L)
static int io_readline(lua_State *L)
static FILE * getiofile(lua_State *L, int findex)
static int io_pclose(lua_State *L)
static int f_seek(lua_State *L)
static int test_eof(lua_State *L, FILE *f)
static int g_iofile(lua_State *L, int f, const char *mode)
static int pushresult(lua_State *L, int i, const char *filename)
static int f_flush(lua_State *L)
static int io_write(lua_State *L)
static int f_write(lua_State *L)
static int f_read(lua_State *L)
static int g_read(lua_State *L, FILE *f, int first)
static void aux_lines(lua_State *L, int idx, int toclose)
#define lua_pushcfunction(L, f)
#define LUA_REGISTRYINDEX
#define lua_pushliteral(L, s)
int(* lua_CFunction)(lua_State *L)
#define lua_upvalueindex(i)
#define lua_tostring(L, i)
#define lua_isnoneornil(L, n)
#define lua_pclose(L, file)
#define lua_popen(L, c, m)
#define luaL_prepbuffer(B)
#define lua_tointeger(L, i)
#define lua_tonumber(L, i)
#define lua_replace(L, idx)
#define lua_newuserdata(L, s)
CURL_EXTERN CURLMcode curl_socket_t s