eclass/eapi8-dosym: Sync with Gentoo

It's from Gentoo commit 610b01ff117232fde9068a9e97e7355d6e53f2e4.
This commit is contained in:
Flatcar Buildbot 2023-06-19 07:13:52 +00:00
parent 5b713f26a9
commit b7f5b72137

View File

@ -31,7 +31,7 @@ esac
_dosym8_canonicalize() {
local path slash i prev out IFS=/
path=( $1 )
read -r -d '' -a path < <(printf '%s\0' "$1")
[[ $1 == /* ]] && slash=/
while true; do
@ -39,7 +39,7 @@ _dosym8_canonicalize() {
# or as a special case, "/.." at the beginning of the path.
# Also drop empty and "." path components as we go along.
prev=
for i in ${!path[@]}; do
for i in "${!path[@]}"; do
if [[ -z ${path[i]} || ${path[i]} == . ]]; then
unset "path[i]"
elif [[ ${path[i]} != .. ]]; then
@ -56,7 +56,7 @@ _dosym8_canonicalize() {
done
out="${slash}${path[*]}"
echo "${out:-.}"
printf "%s\n" "${out:-.}"
}
# @FUNCTION: dosym8