osrm-backend/include/util/lua_util.hpp
Daniel Patterson 50d9632ed7
Upgrade formatting to clang-format 10 (#5895)
* Update formatting tools to clang-format-10

* Reformat using clang-format-10.0.09
2020-11-26 07:21:39 -08:00

35 lines
916 B
C++

#ifndef LUA_UTIL_HPP
#define LUA_UTIL_HPP
extern "C"
{
#include <lauxlib.h>
#include <lua.h>
#include <lualib.h>
}
#include <boost/filesystem/convenience.hpp>
#include <iostream>
#include <string>
namespace osrm
{
namespace util
{
// Add the folder contain the script to the lua load path, so script can easily require() other lua
// scripts inside that folder, or subfolders.
// See http://lua-users.org/wiki/PackagePath for details on the package.path syntax.
inline void luaAddScriptFolderToLoadPath(lua_State *lua_state, const char *file_name)
{
boost::filesystem::path profile_path = boost::filesystem::canonical(file_name);
std::string folder = profile_path.parent_path().generic_string();
const std::string lua_code = "package.path = \"" + folder + "/?.lua;\" .. package.path";
luaL_dostring(lua_state, lua_code.c_str());
}
} // namespace util
} // namespace osrm
#endif // LUA_UTIL_HPP