diff options
author | Denis Vlasenko | 2007-03-24 12:11:17 +0000 |
---|---|---|
committer | Denis Vlasenko | 2007-03-24 12:11:17 +0000 |
commit | 9067f13be067f39f6c8586926b190b7dee0def3d (patch) | |
tree | ff0a10f5f81fa0e1e719691c147309a9cc9bef46 /applets/busybox.c | |
parent | 1b6fa4c57ced2ae89f51bdc073410c4be5384007 (diff) | |
download | busybox-9067f13be067f39f6c8586926b190b7dee0def3d.zip busybox-9067f13be067f39f6c8586926b190b7dee0def3d.tar.gz |
NOMMU re-exec trick shuld not depend on existence of "don't daemonize"
option for every affected applet (and dnsd, for example, don't have one).
Thus rework re-exec support to not require it. Code got smaller too.
Diffstat (limited to 'applets/busybox.c')
-rw-r--r-- | applets/busybox.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/applets/busybox.c b/applets/busybox.c index 0387d79..5334827 100644 --- a/applets/busybox.c +++ b/applets/busybox.c @@ -7,6 +7,7 @@ #include "busybox.h" const char *applet_name ATTRIBUTE_EXTERNALLY_VISIBLE; +smallint re_execed; #ifdef CONFIG_FEATURE_INSTALLER /* @@ -59,6 +60,12 @@ int main(int argc, char **argv) { const char *s; + /* NOMMU re-exec trick sets high-order bit in first byte of name */ + if (argv[0][0] & 0x80) { + re_execed = 1; + argv[0][0] &= 0x7f; + } + applet_name = argv[0]; if (*applet_name == '-') applet_name++; |