-
-
Notifications
You must be signed in to change notification settings - Fork 477
Expand file tree
/
Copy pathlua-setup.cpp
More file actions
39 lines (31 loc) · 1.06 KB
/
lua-setup.cpp
File metadata and controls
39 lines (31 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* SPDX-License-Identifier: GPL-2.0-or-later
*
* This file is part of osm2pgsql (https://osm2pgsql.org/).
*
* Copyright (C) 2006-2026 by the osm2pgsql developer community.
* For a full list of authors see the git log.
*/
#include "lua-setup.hpp"
#include "lua-utils.hpp"
#include "version.hpp"
#include <lua.hpp>
#include <filesystem>
void setup_lua_environment(lua_State *lua_state, std::string const &filename,
bool append_mode)
{
// Set up global lua libs
luaL_openlibs(lua_state);
// Set up global "osm2pgsql" object
lua_newtable(lua_state);
lua_pushvalue(lua_state, -1);
lua_setglobal(lua_state, "osm2pgsql");
luaX_add_table_str(lua_state, "version", get_osm2pgsql_short_version());
std::string dir_path =
std::filesystem::path{filename}.parent_path().string();
if (!dir_path.empty()) {
dir_path += std::filesystem::path::preferred_separator;
}
luaX_add_table_str(lua_state, "config_dir", dir_path);
luaX_add_table_str(lua_state, "mode", append_mode ? "append" : "create");
}