aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/dirname.test1
-rw-r--r--toys/posix/dirname.c6
2 files changed, 5 insertions, 2 deletions
diff --git a/tests/dirname.test b/tests/dirname.test
index 3ea89197..47b26e03 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 06470ad8..fa84af27 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));
}