commit: a42f65fa382c6d619664633e194d3fe3b420d8d0
parent 51f38e2cf908ecafc84f4bbbc95def2cd3e71cee
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Sat, 12 Apr 2025 20:13:14 +0200
cmd/realpath: (readlink) fix -n handling when -f is passed
Diffstat:
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/cmd/realpath.c b/cmd/realpath.c
@@ -207,7 +207,7 @@ main_readlink(int argc, char *argv[])
if(canonicalize)
{
if(print_realpath(path) != 0) return 1;
- if(i != argc) printf("%c", sep);
+ if(i != argc - offset_sep) printf("%c", sep);
continue;
}
diff --git a/test-cmd/readlink.sh b/test-cmd/readlink.sh
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: MPL-2.0
target="$(dirname "$0")/../cmd/readlink"
-plans=12
+plans=14
. "$(dirname "$0")/tap.sh"
t --exit=1 noargs '' 'readlink: error: Expected one file as argument, got 0
@@ -25,9 +25,11 @@ t --exit=1 enoent /var/empty/e/no/ent "readlink: error: Failed reading symbolic
t_cmd touch:regular '' touch regular
t --exit=1 readlink:regular regular "readlink: error: Failed reading symbolic link of 'regular': Invalid argument
"
+t readlink_f:regular '-n -f regular' "$PWD/regular"
t_cmd rm:regular '' rm regular
t_cmd mkdir:dir '' mkdir dir
t --exit=1 readlink:dir dir "readlink: error: Failed reading symbolic link of 'dir': Invalid argument
"
+t readlink_f:dir '-n -f dir' "$PWD/dir"
t_cmd rm:dir '' rm -r dir