diff options
author | Denis Vlasenko | 2007-06-08 15:02:55 +0000 |
---|---|---|
committer | Denis Vlasenko | 2007-06-08 15:02:55 +0000 |
commit | bdbbb7ec49040563628758a2581a5f8e44f53277 (patch) | |
tree | 040fdad2cf7f793717c7088c24047b654732541b /libbb | |
parent | c14d39e83a7f55ab9b92e98673a281fd6565c32d (diff) | |
download | busybox-bdbbb7ec49040563628758a2581a5f8e44f53277.zip busybox-bdbbb7ec49040563628758a2581a5f8e44f53277.tar.gz |
make busybox --install work even if /proc/self/exe doesn't exist
# size busybox_old busybox_unstripped
text data bss dec hex filename
680095 2704 15648 698447 aa84f busybox_old
680099 2704 15648 698451 aa853 busybox_unstripped
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/execable.c | 2 | ||||
-rw-r--r-- | libbb/messages.c | 3 | ||||
-rw-r--r-- | libbb/vfork_daemon_rexec.c | 4 |
3 files changed, 5 insertions, 4 deletions
diff --git a/libbb/execable.c b/libbb/execable.c index d843647..f679108 100644 --- a/libbb/execable.c +++ b/libbb/execable.c @@ -65,7 +65,7 @@ int exists_execable(const char *filename) */ int bb_execvp(const char *file, char *const argv[]) { - return execvp(find_applet_by_name(file) ? CONFIG_BUSYBOX_EXEC_PATH : file, + return execvp(find_applet_by_name(file) ? bb_busybox_exec_path : file, argv); } #endif diff --git a/libbb/messages.c b/libbb/messages.c index fbd882c..16aaea5 100644 --- a/libbb/messages.c +++ b/libbb/messages.c @@ -37,8 +37,9 @@ const char bb_path_gshadow_file[] = "/etc/gshadow"; const char bb_path_nologin_file[] = "/etc/nologin"; const char bb_path_securetty_file[] = "/etc/securetty"; const char bb_path_motd_file[] = "/etc/motd"; -const char bb_default_login_shell[] = LIBBB_DEFAULT_LOGIN_SHELL; const char bb_dev_null[] = "/dev/null"; +const char bb_busybox_exec_path[] = CONFIG_BUSYBOX_EXEC_PATH; +const char bb_default_login_shell[] = LIBBB_DEFAULT_LOGIN_SHELL; const int const_int_0; const int const_int_1 = 1; diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c index 3496287..cb4dee7 100644 --- a/libbb/vfork_daemon_rexec.c +++ b/libbb/vfork_daemon_rexec.c @@ -220,8 +220,8 @@ void forkexit_or_rexec(char **argv) /* high-order bit of first char in argv[0] is a hidden * "we have (alrealy) re-execed, don't do it again" flag */ argv[0][0] |= 0x80; - execv(CONFIG_BUSYBOX_EXEC_PATH, argv); - bb_perror_msg_and_die("exec %s", CONFIG_BUSYBOX_EXEC_PATH); + execv(bb_busybox_exec_path, argv); + bb_perror_msg_and_die("exec %s", bb_busybox_exec_path); } #else /* Dance around (void)...*/ |