diff options
author | Ron Yorston <rmy@pobox.com> | 2018-03-29 20:42:16 +0100 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2018-03-29 20:42:16 +0100 |
commit | 99114618463c8e7282f8a3a1825a59ffc2ee4089 (patch) | |
tree | d3819b8524b64fd7ad86edeccab0e4b2f859518e /libbb | |
parent | aaddde61e3009973f6e6de08ae42e1bb9accd3eb (diff) | |
download | busybox-w32-99114618463c8e7282f8a3a1825a59ffc2ee4089.tar.gz busybox-w32-99114618463c8e7282f8a3a1825a59ffc2ee4089.tar.bz2 busybox-w32-99114618463c8e7282f8a3a1825a59ffc2ee4089.zip |
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.
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/appletlib.c | 28 |
1 files changed, 22 insertions, 6 deletions
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 @@ | |||
48 | # define IF_FEATURE_INDIVIDUAL(...) __VA_ARGS__ | 48 | # define IF_FEATURE_INDIVIDUAL(...) __VA_ARGS__ |
49 | #endif | 49 | #endif |
50 | 50 | ||
51 | #if (ENABLE_FEATURE_INSTALLER && !ENABLE_PLATFORM_MINGW32) || \ | ||
52 | (ENABLE_PLATFORM_MINGW32 && (ENABLE_FEATURE_PREFER_APPLETS \ | ||
53 | || ENABLE_FEATURE_SH_STANDALONE \ | ||
54 | || ENABLE_FEATURE_SH_NOFORK)) | ||
55 | # define IF_FULL_LIST_OPTION(...) __VA_ARGS__ | ||
56 | #endif | ||
57 | |||
51 | #include "usage_compressed.h" | 58 | #include "usage_compressed.h" |
52 | 59 | ||
53 | 60 | ||
@@ -830,12 +837,7 @@ int busybox_main(int argc UNUSED_PARAM, char **argv) | |||
830 | "copyright notices.\n" | 837 | "copyright notices.\n" |
831 | "\n" | 838 | "\n" |
832 | "Usage: busybox [function [arguments]...]\n" | 839 | "Usage: busybox [function [arguments]...]\n" |
833 | IF_NOT_PLATFORM_MINGW32( | 840 | " or: busybox --list"IF_FULL_LIST_OPTION("[-full]")"\n" |
834 | " or: busybox --list"IF_FEATURE_INSTALLER("[-full]")"\n" | ||
835 | ) | ||
836 | IF_PLATFORM_MINGW32( | ||
837 | " or: busybox --list\n" | ||
838 | ) | ||
839 | IF_FEATURE_INSTALLER( | 841 | IF_FEATURE_INSTALLER( |
840 | " or: busybox --install "IF_NOT_PLATFORM_MINGW32("[-s] ")"[DIR]\n" | 842 | " or: busybox --install "IF_NOT_PLATFORM_MINGW32("[-s] ")"[DIR]\n" |
841 | ) | 843 | ) |
@@ -894,6 +896,20 @@ int busybox_main(int argc UNUSED_PARAM, char **argv) | |||
894 | # if ENABLE_FEATURE_INSTALLER && !ENABLE_PLATFORM_MINGW32 | 896 | # if ENABLE_FEATURE_INSTALLER && !ENABLE_PLATFORM_MINGW32 |
895 | if (argv[1][6]) /* --list-full? */ | 897 | if (argv[1][6]) /* --list-full? */ |
896 | full_write2_str(install_dir[APPLET_INSTALL_LOC(i)] + 1); | 898 | full_write2_str(install_dir[APPLET_INSTALL_LOC(i)] + 1); |
899 | # elif ENABLE_PLATFORM_MINGW32 && (ENABLE_FEATURE_PREFER_APPLETS \ | ||
900 | || ENABLE_FEATURE_SH_STANDALONE \ | ||
901 | || ENABLE_FEATURE_SH_NOFORK) | ||
902 | if (argv[1][6]) { /* --list-full? */ | ||
903 | const char *str; | ||
904 | |||
905 | if (APPLET_IS_NOFORK(i)) | ||
906 | str = "NOFORK "; | ||
907 | else if (APPLET_IS_NOEXEC(i)) | ||
908 | str = "noexec "; | ||
909 | else | ||
910 | str = " "; | ||
911 | full_write2_str(str); | ||
912 | } | ||
897 | # endif | 913 | # endif |
898 | full_write2_str(a); | 914 | full_write2_str(a); |
899 | full_write2_str("\n"); | 915 | full_write2_str("\n"); |