From b453818f17a84c01d679088e5a377e244a231981 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 19 Jul 2020 17:13:14 +0200 Subject: Make set_bundle_path_from_code take a function pointer --- ingen/runtime_paths.hpp | 2 +- src/ingen/ingen.cpp | 3 ++- src/runtime_paths.cpp | 4 ++-- tests/ingen_bench.cpp | 2 +- tests/ingen_test.cpp | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ingen/runtime_paths.hpp b/ingen/runtime_paths.hpp index a83a81fd..f23c2882 100644 --- a/ingen/runtime_paths.hpp +++ b/ingen/runtime_paths.hpp @@ -28,7 +28,7 @@ namespace ingen { extern const char search_path_separator; INGEN_API void set_bundle_path(const char* path); -INGEN_API void set_bundle_path_from_code(void* function); +INGEN_API void set_bundle_path_from_code(void (*function)()); INGEN_API FilePath find_in_search_path(const std::string& name, diff --git a/src/ingen/ingen.cpp b/src/ingen/ingen.cpp index 80f7ab36..fd9a3578 100644 --- a/src/ingen/ingen.cpp +++ b/src/ingen/ingen.cpp @@ -90,7 +90,8 @@ print_version() int main(int argc, char** argv) { - ingen::set_bundle_path_from_code((void*)&print_version); + ingen::set_bundle_path_from_code( + reinterpret_cast(&print_version)); // Create world try { diff --git a/src/runtime_paths.cpp b/src/runtime_paths.cpp index db3ccd3f..38eb681f 100644 --- a/src/runtime_paths.cpp +++ b/src/runtime_paths.cpp @@ -65,10 +65,10 @@ parse_search_path(const char* search_path, std::vector defaults) * Passing a function defined in a module etc. will not work! */ void -set_bundle_path_from_code(void* function) +set_bundle_path_from_code(void (*function)()) { Dl_info dli; - dladdr(function, &dli); + dladdr(reinterpret_cast(function), &dli); #ifdef BUNDLE char bin_loc[PATH_MAX]; diff --git a/tests/ingen_bench.cpp b/tests/ingen_bench.cpp index e0232b01..0a042f94 100644 --- a/tests/ingen_bench.cpp +++ b/tests/ingen_bench.cpp @@ -59,7 +59,7 @@ real_path(const char* path) int main(int argc, char** argv) { - set_bundle_path_from_code((void*)&ingen_try); + set_bundle_path_from_code(reinterpret_cast(&ingen_try)); // Create world try { diff --git a/tests/ingen_test.cpp b/tests/ingen_test.cpp index eade1194..4d9823bc 100644 --- a/tests/ingen_test.cpp +++ b/tests/ingen_test.cpp @@ -74,7 +74,7 @@ real_file_path(const char* path) int main(int argc, char** argv) { - set_bundle_path_from_code((void*)&ingen_try); + set_bundle_path_from_code(reinterpret_cast(&ingen_try)); // Create world try { -- cgit v1.2.1