| 616 | |
| 617 | |
| 618 | static void modinit (lua_State *L, const char *modname) { |
| 619 | const char *dot; |
| 620 | lua_pushvalue(L, -1); |
| 621 | lua_setfield(L, -2, "_M"); /* module._M = module */ |
| 622 | lua_pushstring(L, modname); |
| 623 | lua_setfield(L, -2, "_NAME"); |
| 624 | dot = strrchr(modname, '.'); /* look for last dot in module name */ |
| 625 | if (dot == NULL) dot = modname; |
| 626 | else dot++; |
| 627 | /* set _PACKAGE as package name (full module name minus last part) */ |
| 628 | lua_pushlstring(L, modname, dot - modname); |
| 629 | lua_setfield(L, -2, "_PACKAGE"); |
| 630 | } |
| 631 | |
| 632 | |
| 633 | static int ll_module (lua_State *L) { |
no test coverage detected