Loading src/common/util.c +15 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <io.h> #include <direct.h> #include <process.h> #include <tchar.h> #else #include <dirent.h> #include <pwd.h> Loading Loading @@ -2793,3 +2794,17 @@ write_pidfile(char *filename) } } #ifdef MS_WINDOWS HANDLE load_windows_system_library(const TCHAR *library_name) { TCHAR path[MAX_PATH]; unsigned n; n = GetSystemDirectory(path, 1024); if (n == 0 || n + _tcslen(library_name) + 2 >= MAX_PATH) return 0; _tcscat(path, TEXT("\\")); _tcscat(path, library_name); return LoadLibrary(path); } #endif src/common/util.h +4 −0 Original line number Diff line number Diff line Loading @@ -340,6 +340,10 @@ void start_daemon(void); void finish_daemon(const char *desired_cwd); void write_pidfile(char *filename); #ifdef MS_WINDOWS HANDLE load_windows_system_library(const TCHAR *library_name); #endif const char *libor_get_digests(void); #endif Loading src/test/test_util.c +16 −0 Original line number Diff line number Diff line Loading @@ -1139,6 +1139,19 @@ test_util_listdir(void *ptr) } } #ifdef MS_WINDOWS static void test_util_load_win_lib(void *ptr) { HANDLE h = load_windows_system_library("advapi32.dll"); tt_assert(h); done: if (h) CloseHandle(h); } #endif #define UTIL_LEGACY(name) \ { #name, legacy_test_helper, 0, &legacy_setup, test_util_ ## name } Loading @@ -1162,6 +1175,9 @@ struct testcase_t util_tests[] = { UTIL_TEST(find_str_at_start_of_line, 0), UTIL_TEST(asprintf, 0), UTIL_TEST(listdir, 0), #ifdef MS_WINDOWS UTIL_TEST(load_win_lib, 0), #endif END_OF_TESTCASES }; Loading
src/common/util.c +15 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <io.h> #include <direct.h> #include <process.h> #include <tchar.h> #else #include <dirent.h> #include <pwd.h> Loading Loading @@ -2793,3 +2794,17 @@ write_pidfile(char *filename) } } #ifdef MS_WINDOWS HANDLE load_windows_system_library(const TCHAR *library_name) { TCHAR path[MAX_PATH]; unsigned n; n = GetSystemDirectory(path, 1024); if (n == 0 || n + _tcslen(library_name) + 2 >= MAX_PATH) return 0; _tcscat(path, TEXT("\\")); _tcscat(path, library_name); return LoadLibrary(path); } #endif
src/common/util.h +4 −0 Original line number Diff line number Diff line Loading @@ -340,6 +340,10 @@ void start_daemon(void); void finish_daemon(const char *desired_cwd); void write_pidfile(char *filename); #ifdef MS_WINDOWS HANDLE load_windows_system_library(const TCHAR *library_name); #endif const char *libor_get_digests(void); #endif Loading
src/test/test_util.c +16 −0 Original line number Diff line number Diff line Loading @@ -1139,6 +1139,19 @@ test_util_listdir(void *ptr) } } #ifdef MS_WINDOWS static void test_util_load_win_lib(void *ptr) { HANDLE h = load_windows_system_library("advapi32.dll"); tt_assert(h); done: if (h) CloseHandle(h); } #endif #define UTIL_LEGACY(name) \ { #name, legacy_test_helper, 0, &legacy_setup, test_util_ ## name } Loading @@ -1162,6 +1175,9 @@ struct testcase_t util_tests[] = { UTIL_TEST(find_str_at_start_of_line, 0), UTIL_TEST(asprintf, 0), UTIL_TEST(listdir, 0), #ifdef MS_WINDOWS UTIL_TEST(load_win_lib, 0), #endif END_OF_TESTCASES };