From 302e3218b7d487539ec305bf23881a6ee7d5be99 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:29 -0800 Subject: Import Upstream version 5e1 --- script.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'script.c') diff --git a/script.c b/script.c index e186eb9..260e8b2 100644 --- a/script.c +++ b/script.c @@ -60,6 +60,11 @@ # endif /* def __sgi__ */ #endif /* def __SVR4 */ +#ifdef _WIN32 +# define WIN32_LEAN_AND_MEAN +# include /* GetModuleFileName */ +#endif + /* Concatentate str2 onto str1 at position n and return concatenated string if file exists; 0 otherwise. */ @@ -167,7 +172,22 @@ char *find_impl_file(exec_path, generic_name, initname, sep) char *sepptr = strrchr(exec_path, sep[0]); char *extptr = exec_path + strlen(exec_path); char *path = 0; - /* fprintf(stderr, "dld_find_e %s\n", exec_path); fflush(stderr); */ + +#ifdef _WIN32 + char exec_buf[MAX_PATH]; + HMODULE mod = GetModuleHandle(0); /* Returns module handle to current executable. */ + + if (mod) { + GetModuleFileName(mod, exec_buf, sizeof(exec_buf)); + exec_path = exec_buf; + } +#endif + + /*fprintf(stderr, "dld_find_e %s\n", exec_path); fflush(stderr);*/ + + sepptr = strrchr(exec_path, sep[0]); + extptr = exec_path + strlen(exec_path); + if (sepptr) { long sepind = sepptr - exec_path + 1L; -- cgit v1.2.3