mirror of
https://github.com/sheumann/hush.git
synced 2024-10-11 10:23:41 +00:00
xargs: support --no-run-if-empty (synonym to -r)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
1df0af7670
commit
7cfe6ea99e
@ -15,10 +15,6 @@
|
|||||||
* http://www.opengroup.org/onlinepubs/007904975/utilities/xargs.html
|
* http://www.opengroup.org/onlinepubs/007904975/utilities/xargs.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//applet:IF_XARGS(APPLET_NOEXEC(xargs, xargs, BB_DIR_USR_BIN, BB_SUID_DROP, xargs))
|
|
||||||
|
|
||||||
//kbuild:lib-$(CONFIG_XARGS) += xargs.o
|
|
||||||
|
|
||||||
//config:config XARGS
|
//config:config XARGS
|
||||||
//config: bool "xargs"
|
//config: bool "xargs"
|
||||||
//config: default y
|
//config: default y
|
||||||
@ -58,6 +54,10 @@
|
|||||||
//config: instead of whitespace, and the quotes and backslash
|
//config: instead of whitespace, and the quotes and backslash
|
||||||
//config: are not special.
|
//config: are not special.
|
||||||
|
|
||||||
|
//applet:IF_XARGS(APPLET_NOEXEC(xargs, xargs, BB_DIR_USR_BIN, BB_SUID_DROP, xargs))
|
||||||
|
|
||||||
|
//kbuild:lib-$(CONFIG_XARGS) += xargs.o
|
||||||
|
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
/* This is a NOEXEC applet. Be very careful! */
|
/* This is a NOEXEC applet. Be very careful! */
|
||||||
@ -89,7 +89,9 @@ struct globals {
|
|||||||
int idx;
|
int idx;
|
||||||
} FIX_ALIASING;
|
} FIX_ALIASING;
|
||||||
#define G (*(struct globals*)&bb_common_bufsiz1)
|
#define G (*(struct globals*)&bb_common_bufsiz1)
|
||||||
#define INIT_G() do { } while (0)
|
#define INIT_G() do { \
|
||||||
|
G.eof_str = NULL; /* need to clear by hand because we are NOEXEC applet */ \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -412,7 +414,12 @@ int xargs_main(int argc, char **argv)
|
|||||||
|
|
||||||
INIT_G();
|
INIT_G();
|
||||||
|
|
||||||
G.eof_str = NULL;
|
#if ENABLE_DESKTOP && ENABLE_LONG_OPTS
|
||||||
|
/* For example, Fedora's build system uses --no-run-if-empty */
|
||||||
|
applet_long_options =
|
||||||
|
"no-run-if-empty\0" No_argument "r"
|
||||||
|
;
|
||||||
|
#endif
|
||||||
opt = getopt32(argv, OPTION_STR, &max_args, &max_chars, &G.eof_str, &G.eof_str);
|
opt = getopt32(argv, OPTION_STR, &max_args, &max_chars, &G.eof_str, &G.eof_str);
|
||||||
|
|
||||||
/* -E ""? You may wonder why not just omit -E?
|
/* -E ""? You may wonder why not just omit -E?
|
||||||
|
Loading…
Reference in New Issue
Block a user