Applied, thanks!
On Wed, Feb 19, 2020 at 12:02 PM Ron Yorston <r...@pobox.com> wrote: > > Since commit 1ff7002b1 (xargs: fix handling of quoted arguments, closes > 11441) the -n option hasn't worked properly: > > $ echo 1 2 3 | xargs -n 1 echo > 1 > 2 > > 3 > > $ > > Because state is now remembered between calls to process_stdin() it's > necessary to update the state before any premature return. > > Signed-off-by: Ron Yorston <r...@pobox.com> > --- > findutils/xargs.c | 2 +- > testsuite/xargs.tests | 11 +++++++++++ > 2 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/findutils/xargs.c b/findutils/xargs.c > index 4fb306bb8..ff04bfe7c 100644 > --- a/findutils/xargs.c > +++ b/findutils/xargs.c > @@ -315,6 +315,7 @@ static char* FAST_FUNC process_stdin(int n_max_chars, int > n_max_arg, char *buf) > } > } > if (state == SPACE) { /* word's delimiter or EOF detected */ > + state = NORM; > if (q) { > bb_error_msg_and_die("unmatched %s quote", > q == '\'' ? "single" : "double"); > @@ -335,7 +336,6 @@ static char* FAST_FUNC process_stdin(int n_max_chars, int > n_max_arg, char *buf) > if (n_max_arg == 0) { > goto ret; > } > - state = NORM; > } > if (p == buf) { > goto ret; > diff --git a/testsuite/xargs.tests b/testsuite/xargs.tests > index 855b33bc2..159f1ff69 100755 > --- a/testsuite/xargs.tests > +++ b/testsuite/xargs.tests > @@ -48,6 +48,17 @@ testing "xargs argument line too long" \ > "seq 10000 99999 | sed -e 's/^/\"/' -e 's/$/\"/' | xargs echo | grep > -o 99999; echo \$?" \ > "99999\n0\n" \ > "" "" > + > +testing "xargs -n1" \ > + "xargs -n1 echo" \ > + "1\n2\n3\n4\n5\n" \ > + "" "1 2 3 4 5\n" > + > +testing "xargs -n2" \ > + "xargs -n2 echo" \ > + "1 2\n3 4\n5\n" \ > + "" "1 2 3 4 5\n" > + > SKIP= > > exit $FAILCOUNT > -- > 2.24.1 > > _______________________________________________ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox