aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2018-03-29 20:42:16 +0100
committerRon Yorston <rmy@pobox.com>2018-03-29 20:42:16 +0100
commit99114618463c8e7282f8a3a1825a59ffc2ee4089 (patch)
treed3819b8524b64fd7ad86edeccab0e4b2f859518e /libbb
parentaaddde61e3009973f6e6de08ae42e1bb9accd3eb (diff)
downloadbusybox-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.c28
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");