From 70a6c55499eabf1229dfb0b49f08b366cbaa7896 Mon Sep 17 00:00:00 2001
From: Elliott Hughes <enh@google.com>
Date: Mon, 25 Dec 2017 21:24:57 -0800
Subject: Fix xargs -0 with -n.

Also make -0 and -E mutually exclusive (rather than just ignore -E
with -0).

Bug: https://github.com/landley/toybox/issues/78
---
 toys/posix/xargs.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

(limited to 'toys')

diff --git a/toys/posix/xargs.c b/toys/posix/xargs.c
index e7dd10b5..cac143cc 100644
--- a/toys/posix/xargs.c
+++ b/toys/posix/xargs.c
@@ -6,7 +6,7 @@
  *
  * TODO: Rich's whitespace objection, env size isn't fixed anymore.
 
-USE_XARGS(NEWTOY(xargs, "^I:E:L#ptxrn#<1s#0", TOYFLAG_USR|TOYFLAG_BIN))
+USE_XARGS(NEWTOY(xargs, "^I:E:L#ptxrn#<1s#0[!0E]", TOYFLAG_USR|TOYFLAG_BIN))
 
 config XARGS
   bool "xargs"
@@ -99,8 +99,7 @@ static char *handle_entries(char *data, char **entry)
   } else {
     TT.bytes += sizeof(char *)+strlen(data)+1;
     if (TT.max_bytes && TT.bytes >= TT.max_bytes) return data;
-    if (TT.max_entries && TT.entries >= TT.max_entries)
-      return (char *)1;
+    if (TT.max_entries && TT.entries >= TT.max_entries) return data;
     if (entry) entry[TT.entries] = data;
     TT.entries++;
   }
-- 
cgit v1.2.3