| 417 | |
| 418 | |
| 419 | static int loadfunc (lua_State *L, const char *filename, const char *modname) { |
| 420 | const char *funcname; |
| 421 | const char *mark; |
| 422 | modname = luaL_gsub(L, modname, ".", LUA_OFSEP); |
| 423 | mark = strchr(modname, *LUA_IGMARK); |
| 424 | if (mark) { |
| 425 | int stat; |
| 426 | funcname = lua_pushlstring(L, modname, mark - modname); |
| 427 | funcname = lua_pushfstring(L, LUA_POF"%s", funcname); |
| 428 | stat = ll_loadfunc(L, filename, funcname); |
| 429 | if (stat != ERRFUNC) return stat; |
| 430 | modname = mark + 1; /* else go ahead and try old-style name */ |
| 431 | } |
| 432 | funcname = lua_pushfstring(L, LUA_POF"%s", modname); |
| 433 | return ll_loadfunc(L, filename, funcname); |
| 434 | } |
| 435 | |
| 436 | |
| 437 | static int searcher_C (lua_State *L) { |
no test coverage detected