---
 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
From 806284b83bf8d744be751c4e4d9ec34cb205246c Mon Sep 17 00:00:00 2001
From: Elliott Hughes <[email protected]>
Date: Tue, 13 Nov 2018 14:17:33 -0800
Subject: [PATCH] dirname: support multiple arguments.

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

_______________________________________________
Toybox mailing list
[email protected]
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to