diff options
| -rw-r--r-- | loadlib.c | 12 |
1 files changed, 7 insertions, 5 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: loadlib.c,v 1.45 2005/09/30 13:50:05 roberto Exp roberto $ | 2 | ** $Id: loadlib.c,v 1.46 2005/10/03 14:36:45 roberto Exp roberto $ |
| 3 | ** Dynamic library loader for Lua | 3 | ** Dynamic library loader for Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | ** | 5 | ** |
| @@ -97,16 +97,18 @@ static lua_CFunction ll_sym (lua_State *L, void *lib, const char *sym) { | |||
| 97 | 97 | ||
| 98 | #undef setprogdir | 98 | #undef setprogdir |
| 99 | 99 | ||
| 100 | void setprogdir (lua_State *L) { | 100 | static void setprogdir (lua_State *L) { |
| 101 | char buff[MAX_PATH + 1]; | 101 | char buff[MAX_PATH + 1]; |
| 102 | char *lb; | 102 | char *lb; |
| 103 | DWORD nsize = sizeof(buff)/sizeof(char); | 103 | DWORD nsize = sizeof(buff)/sizeof(char); |
| 104 | DWORD n = GetModuleFileName(NULL, buff, nsize); | 104 | DWORD n = GetModuleFileName(NULL, buff, nsize); |
| 105 | if (n == 0 || n == nsize || (lb = strrchr(buff, '\\')) == NULL) | 105 | if (n == 0 || n == nsize || (lb = strrchr(buff, '\\')) == NULL) |
| 106 | luaL_error(L, "unable to get ModuleFileName"); | 106 | luaL_error(L, "unable to get ModuleFileName"); |
| 107 | *lb = '\0'; | 107 | else { |
| 108 | luaL_gsub(L, lua_tostring(L, -1), LUA_EXECDIR, buff); | 108 | *lb = '\0'; |
| 109 | lua_remove(L, -2); /* remove original string */ | 109 | luaL_gsub(L, lua_tostring(L, -1), LUA_EXECDIR, buff); |
| 110 | lua_remove(L, -2); /* remove original string */ | ||
| 111 | } | ||
| 110 | } | 112 | } |
| 111 | 113 | ||
| 112 | 114 | ||
