[Toybox] [PATCH] dirname: support multiple arguments.

enh enh at google.com
Tue Nov 13 14:19:11 PST 2018


---
 tests/dirname.test   | 1 +
 toys/posix/dirname.c | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/tests/dirname.test b/tests/dirname.test
index 3ea8919..47b26e0 100755
--- a/tests/dirname.test
+++ b/tests/dirname.test
@@ -8,3 +8,4 @@ testing "/-only" "dirname ///////" "/\n" "" ""
 testing "trailing /" "dirname a//////" ".\n" "" ""
 testing "combined" "dirname /////a///b///c///d/////" "/////a///b///c\n" "" ""
 testing "/a/" "dirname /////a///" "/\n" "" ""
+testing "multiple" "dirname hello/a world/b" "hello\nworld\n" "" ""
diff --git a/toys/posix/dirname.c b/toys/posix/dirname.c
index 06470ad..fa84af2 100644
--- a/toys/posix/dirname.c
+++ b/toys/posix/dirname.c
@@ -10,7 +10,7 @@ config DIRNAME
   bool "dirname"
   default y
   help
-    usage: dirname PATH
+    usage: dirname PATH...

     Show directory portion of path.
 */
@@ -19,5 +19,7 @@ config DIRNAME

 void dirname_main(void)
 {
-  puts(dirname(*toys.optargs));
+  char **arg;
+
+  for (arg = toys.optargs; *arg; ++arg) puts(dirname(*arg));
 }
-- 
2.19.1.930.g4563a0d9d0-goog
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-dirname-support-multiple-arguments.patch
Type: text/x-patch
Size: 1281 bytes
Desc: not available
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20181113/960407e9/attachment-0002.bin>


More information about the Toybox mailing list