From dacd447d415591d6b2dbe746b93bcc6fb07abe8e Mon Sep 17 00:00:00 2001 From: Nguyễn Thái Ngọc Duy Date: Thu, 23 Apr 2009 03:54:15 +1000 Subject: redefine CONFIG_BUSYBOX_EXEC_PATH to get full path --- include/libbb.h | 2 ++ include/mingw.h | 1 + libbb/mingw.c | 9 +++++++++ 3 files changed, 12 insertions(+) diff --git a/include/libbb.h b/include/libbb.h index 5f496f435..ea02a9978 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -60,6 +60,8 @@ #include "autoconf.h" #ifdef __MINGW32__ #include "mingw.h" +#undef CONFIG_BUSYBOX_EXEC_PATH +#define CONFIG_BUSYBOX_EXEC_PATH get_busybox_exec_path() #endif #include "pwd_.h" diff --git a/include/mingw.h b/include/mingw.h index 3d252af5f..b39d94a33 100644 --- a/include/mingw.h +++ b/include/mingw.h @@ -248,6 +248,7 @@ char **copy_environ(void); void free_environ(char **env); char **env_setenv(char **env, const char *name); +const char *get_busybox_exec_path(); /* * A replacement of main() that ensures that argv[0] has a path */ diff --git a/libbb/mingw.c b/libbb/mingw.c index f90fbc1d2..e3ec2782c 100644 --- a/libbb/mingw.c +++ b/libbb/mingw.c @@ -1280,3 +1280,12 @@ char *strptime(const char *s, const char *format, struct tm *tm) void unsetenv(const char *env) { } + +const char *get_busybox_exec_path() +{ + static char path[PATH_MAX] = ""; + + if (!*path) + GetModuleFileName(NULL, path, PATH_MAX); + return path; +} -- cgit v1.2.3-55-g6feb