MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / g_write

Function g_write

3rd/lua-5.4.3/src/liolib.c:660–682  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

658
659
660static int g_write (lua_State *L, FILE *f, int arg) {
661 int nargs = lua_gettop(L) - arg;
662 int status = 1;
663 for (; nargs--; arg++) {
664 if (lua_type(L, arg) == LUA_TNUMBER) {
665 /* optimization: could be done exactly as for strings */
666 int len = lua_isinteger(L, arg)
667 ? fprintf(f, LUA_INTEGER_FMT,
668 (LUAI_UACINT)lua_tointeger(L, arg))
669 : fprintf(f, LUA_NUMBER_FMT,
670 (LUAI_UACNUMBER)lua_tonumber(L, arg));
671 status = status && (len > 0);
672 }
673 else {
674 size_t l;
675 const char *s = luaL_checklstring(L, arg, &l);
676 status = status && (fwrite(s, sizeof(char), l, f) == l);
677 }
678 }
679 if (l_likely(status))
680 return 1; /* file handle already on stack top */
681 else return luaL_fileresult(L, status, NULL);
682}
683
684
685static int io_write (lua_State *L) {

Callers 2

io_writeFunction · 0.85
f_writeFunction · 0.85

Calls 5

lua_gettopFunction · 0.85
lua_typeFunction · 0.85
luaL_checklstringFunction · 0.85
luaL_fileresultFunction · 0.85
lua_isintegerFunction · 0.70

Tested by

no test coverage detected