MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / f_seek

Function f_seek

lib/lua/src/liolib.c:703–720  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

701
702
703static int f_seek (lua_State *L) {
704 static const int mode[] = {SEEK_SET, SEEK_CUR, SEEK_END};
705 static const char *const modenames[] = {"set", "cur", "end", NULL};
706 FILE *f = tofile(L);
707 int op = luaL_checkoption(L, 2, "cur", modenames);
708 lua_Integer p3 = luaL_optinteger(L, 3, 0);
709 l_seeknum offset = (l_seeknum)p3;
710 luaL_argcheck(L, (lua_Integer)offset == p3, 3,
711 "not an integer in proper range");
712 errno = 0;
713 op = l_fseek(f, offset, mode[op]);
714 if (l_unlikely(op))
715 return luaL_fileresult(L, 0, NULL); /* error */
716 else {
717 lua_pushinteger(L, (lua_Integer)l_ftell(f));
718 return 1;
719 }
720}
721
722
723static int f_setvbuf (lua_State *L) {

Callers

nothing calls this directly

Calls 5

tofileFunction · 0.85
luaL_checkoptionFunction · 0.85
luaL_optintegerFunction · 0.85
luaL_fileresultFunction · 0.85
lua_pushintegerFunction · 0.85

Tested by

no test coverage detected