MCPcopy Create free account
hub / github.com/WaykiChain/WaykiChain / createargtable

Function createargtable

src/vm/luavm/lua/coinlua.c:230–240  ·  view source on GitHub ↗

** Create the 'arg' table, which stores all arguments from the ** command line ('argv'). It should be aligned so that, at index 0, ** it has 'argv[script]', which is the script name. The arguments ** to the script (everything after 'script') go to positive indices; ** other arguments (before the script name) go to negative indices. ** If there is no script name, assume interpreter's name as base.

Source from the content-addressed store, hash-verified

228** If there is no script name, assume interpreter's name as base.
229*/
230static void createargtable (lua_State *L, char **argv, int argc, int script) {
231 int i, narg;
232 if (script == argc) script = 0; /* no script name? */
233 narg = argc - (script + 1); /* number of positive indices */
234 lua_createtable(L, narg, script + 1);
235 for (i = 0; i < argc; i++) {
236 lua_pushstring(L, argv[i]);
237 lua_rawseti(L, -2, i - script);
238 }
239 lua_setglobal(L, "arg");
240}
241
242
243static int dochunk (lua_State *L, int status) {

Callers 1

pmainFunction · 0.85

Calls 4

lua_createtableFunction · 0.85
lua_pushstringFunction · 0.85
lua_rawsetiFunction · 0.85
lua_setglobalFunction · 0.85

Tested by

no test coverage detected