MCPcopy Create free account
hub / github.com/ArduPilot/ardupilot / setprogdir

Function setprogdir

libraries/AP_Scripting/lua/src/loadlib.c:170–182  ·  view source on GitHub ↗

** Replace in the path (on the top of the stack) any occurrence ** of LUA_EXEC_DIR with the executable's path. */

Source from the content-addressed store, hash-verified

168** of LUA_EXEC_DIR with the executable's path.
169*/
170static void setprogdir (lua_State *L) {
171 char buff[MAX_PATH + 1];
172 char *lb;
173 DWORD nsize = sizeof(buff)/sizeof(char);
174 DWORD n = GetModuleFileNameA(NULL, buff, nsize); /* get exec. name */
175 if (n == 0 || n == nsize || (lb = strrchr(buff, '\\')) == NULL)
176 luaL_error(L, "unable to get ModuleFileName");
177 else {
178 *lb = '\0'; /* cut name on the last '\\' to get the path */
179 luaL_gsub(L, lua_tostring(L, -1), LUA_EXEC_DIR, buff);
180 lua_remove(L, -2); /* remove original string */
181 }
182}
183
184
185

Callers 1

setpathFunction · 0.85

Calls 2

luaL_errorFunction · 0.85
luaL_gsubFunction · 0.85

Tested by

no test coverage detected