aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2018-11-13 14:17:33 -0800
committerRob Landley <rob@landley.net>2018-11-17 14:40:07 -0600
commitd1d751e4be38f192cd45370929f68945f015ef00 (patch)
tree15f4fca461f86f3bd06564eaa123bed7426367f6
parent2559f9dd6b7eedd97e029c80b4b8ba72309db45b (diff)
downloadtoybox-d1d751e4be38f192cd45370929f68945f015ef00.tar.gz
dirname: support multiple arguments.
-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));
}