Пример #1
0
static void *clib_loadlib(lua_State *L, const char *name, int global)
{
  void *h = (void *)LoadLibraryA(clib_extname(L, name));
  if (!h) clib_error(L, "cannot load module " LUA_QS ": %s", name);
  UNUSED(global);
  return h;
}
Пример #2
0
static void *clib_loadlib(lua_State *L, const char *name, int global)
{
  void *h = dlopen(clib_extname(L, name),
		   RTLD_LAZY | (global?RTLD_GLOBAL:RTLD_LOCAL));
  if (!h) clib_error_(L);
  return h;
}
Пример #3
0
static void *clib_loadlib(lua_State *L, const char *name, int global)
{
    DWORD oldwerr = GetLastError();
    void *h = (void *)LoadLibraryExA(clib_extname(L, name), NULL, 0);
    if (!h) clib_error(L, "cannot load module " LUA_QS ": %s", name);
    SetLastError(oldwerr);
    UNUSED(global);
    return h;
}
Пример #4
0
static void *clib_loadlib(lua_State *L, const char *name, int global)
{
  void *h = dlopen(clib_extname(L, name),
		   RTLD_LAZY | (global?RTLD_GLOBAL:RTLD_LOCAL));
  if (!h) {
    const char *e, *err = dlerror();
    if (*err == '/' && (e = strchr(err, ':')) &&
	(name = clib_resolve_lds(L, strdata(lj_str_new(L, err, e-err))))) {
      h = dlopen(name, RTLD_LAZY | (global?RTLD_GLOBAL:RTLD_LOCAL));
      if (h) return h;
      err = dlerror();
    }
    lj_err_callermsg(L, err);
  }
  return h;
}