From 99114618463c8e7282f8a3a1825a59ffc2ee4089 Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Thu, 29 Mar 2018 20:42:16 +0100 Subject: busybox: let --list-full display nofork/noexec applets The --list-full option to busybox-w32 was disabled because it didn't make sense to display Unix install paths. Repurpose this option to display whether applets are NOFORK or NOEXEC. --- libbb/appletlib.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'libbb') diff --git a/libbb/appletlib.c b/libbb/appletlib.c index ec6ad7ba8..491eb4208 100644 --- a/libbb/appletlib.c +++ b/libbb/appletlib.c @@ -48,6 +48,13 @@ # define IF_FEATURE_INDIVIDUAL(...) __VA_ARGS__ #endif +#if (ENABLE_FEATURE_INSTALLER && !ENABLE_PLATFORM_MINGW32) || \ + (ENABLE_PLATFORM_MINGW32 && (ENABLE_FEATURE_PREFER_APPLETS \ + || ENABLE_FEATURE_SH_STANDALONE \ + || ENABLE_FEATURE_SH_NOFORK)) +# define IF_FULL_LIST_OPTION(...) __VA_ARGS__ +#endif + #include "usage_compressed.h" @@ -830,12 +837,7 @@ int busybox_main(int argc UNUSED_PARAM, char **argv) "copyright notices.\n" "\n" "Usage: busybox [function [arguments]...]\n" - IF_NOT_PLATFORM_MINGW32( - " or: busybox --list"IF_FEATURE_INSTALLER("[-full]")"\n" - ) - IF_PLATFORM_MINGW32( - " or: busybox --list\n" - ) + " or: busybox --list"IF_FULL_LIST_OPTION("[-full]")"\n" IF_FEATURE_INSTALLER( " or: busybox --install "IF_NOT_PLATFORM_MINGW32("[-s] ")"[DIR]\n" ) @@ -894,6 +896,20 @@ int busybox_main(int argc UNUSED_PARAM, char **argv) # if ENABLE_FEATURE_INSTALLER && !ENABLE_PLATFORM_MINGW32 if (argv[1][6]) /* --list-full? */ full_write2_str(install_dir[APPLET_INSTALL_LOC(i)] + 1); +# elif ENABLE_PLATFORM_MINGW32 && (ENABLE_FEATURE_PREFER_APPLETS \ + || ENABLE_FEATURE_SH_STANDALONE \ + || ENABLE_FEATURE_SH_NOFORK) + if (argv[1][6]) { /* --list-full? */ + const char *str; + + if (APPLET_IS_NOFORK(i)) + str = "NOFORK "; + else if (APPLET_IS_NOEXEC(i)) + str = "noexec "; + else + str = " "; + full_write2_str(str); + } # endif full_write2_str(a); full_write2_str("\n"); -- cgit v1.2.3-55-g6feb