Skip to content

Commit

Permalink
xargs: support --no-run-if-empty (synonym to -r)
Browse files Browse the repository at this point in the history
Signed-off-by: Denys Vlasenko <[email protected]>
  • Loading branch information
Denys Vlasenko committed Mar 3, 2011
1 parent 1df0af7 commit 7cfe6ea
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions findutils/xargs.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@
* 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: bool "xargs"
//config: default y
Expand Down Expand Up @@ -58,6 +54,10 @@
//config: instead of whitespace, and the quotes and backslash
//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"

/* This is a NOEXEC applet. Be very careful! */
Expand Down Expand Up @@ -89,7 +89,9 @@ struct globals {
int idx;
} FIX_ALIASING;
#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)


/*
Expand Down Expand Up @@ -412,7 +414,12 @@ int xargs_main(int argc, char **argv)

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);

/* -E ""? You may wonder why not just omit -E?
Expand Down

0 comments on commit 7cfe6ea

Please sign in to comment.