ubi_tools: a bit smaller applet resolution code
authorDenys Vlasenko <vda.linux@googlemail.com>
Mon, 7 Aug 2017 00:55:33 +0000 (02:55 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 7 Aug 2017 00:55:33 +0000 (02:55 +0200)
function                                             old     new   delta
ubi_tools_main                                      1241    1235      -6

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
NOFORK_NOEXEC.lst
miscutils/ubi_tools.c

index 21f09728d86867626cb970d34f4416aa38870d7c..d54c206fe28352e352796381d2294ba6f68f9039 100644 (file)
@@ -55,7 +55,6 @@ blockdev - noexec. leaks fd
 bootchartd - daemon
 brctl - noexec
 bunzip2 - runner
-busybox
 bzcat - runner
 bzip2 - runner
 cal - runner: cal -n9999
index c6ba22adfc181a15113c4598e9a14617ff5d7b56..d9b76b69c7b178b88f73b06a50b2db0119048de3 100644 (file)
 #endif
 #include <mtd/ubi-user.h>
 
-#define do_attach (ENABLE_UBIATTACH && applet_name[3] == 'a')
-#define do_detach (ENABLE_UBIDETACH && applet_name[3] == 'd')
-#define do_mkvol  (ENABLE_UBIMKVOL  && applet_name[3] == 'm')
-#define do_rmvol  (ENABLE_UBIRMVOL  && applet_name[4] == 'm')
-#define do_rsvol  (ENABLE_UBIRSVOL  && applet_name[4] == 's')
-#define do_update (ENABLE_UBIUPDATEVOL && applet_name[3] == 'u')
+#define UBI_APPLET_CNT (0 \
+       + ENABLE_UBIATTACH \
+       + ENABLE_UBIDETACH \
+       + ENABLE_UBIMKVOL \
+       + ENABLE_UBIRMVOL \
+       + ENABLE_UBIRSVOL \
+       + ENABLE_UBIUPDATEVOL \
+       )
+
+#define do_attach (ENABLE_UBIATTACH    && (UBI_APPLET_CNT == 1 || applet_name[4] == 't'))
+#define do_detach (ENABLE_UBIDETACH    && (UBI_APPLET_CNT == 1 || applet_name[4] == 'e'))
+#define do_mkvol  (ENABLE_UBIMKVOL     && (UBI_APPLET_CNT == 1 || applet_name[4] == 'k'))
+#define do_rmvol  (ENABLE_UBIRMVOL     && (UBI_APPLET_CNT == 1 || applet_name[4] == 'm'))
+#define do_rsvol  (ENABLE_UBIRSVOL     && (UBI_APPLET_CNT == 1 || applet_name[4] == 's'))
+#define do_update (ENABLE_UBIUPDATEVOL && (UBI_APPLET_CNT == 1 || applet_name[4] == 'p'))
 
 static unsigned get_num_from_file(const char *path, unsigned max, const char *errmsg)
 {