diff --git a/tests/dirname.test b/tests/dirname.test index 3ea891977..47b26e032 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 06470ad8d..fa84af27a 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)); }