rc.library: support ipv4 mapped addresses

This commit is contained in:
bergware
2023-07-11 17:22:17 +02:00
parent aa0910b206
commit 1b616a11fc

View File

@@ -69,7 +69,7 @@ max6() {
[[ ${a:0:1} == : ]] && a=0${a}
[[ ${a:${#a}-1} == : ]] && a=${a}0
a=${a/::/:$(for((i=1;i<=$((8-${#c}));i++)); do printf "0:"; done)}
a=$(for q in ${a//:/ }; do printf "$d%04x" "0x$q"; d=:; done)
d=; a=$(for q in ${a//:/ }; do printf "$d%04x" "0x$q"; d=:; done)
[[ -n $b ]] && a=${a%$f*}$f$b
[[ -z $m ]] && echo $a || echo $a/$m
done
@@ -80,7 +80,7 @@ min6() {
f=:ffff:
[[ -n $1 ]] && read a m < <(IFS=/; echo $1) || return
[[ $a == *"$f"* && $a == *'.'* ]] && b=${a#*$f} a=${a%$f*}$f || b=
a=:$(for q in ${a//:/ }; do printf "$d%x" "0x$q"; d=:; done)
d=; a=:$(for q in ${a//:/ }; do printf "$d%x" "0x$q"; d=:; done)
a=${a/$(grep -Po ':(0(:|$)){2,8}' <<< $a|sort|tail -1)/::}
[[ ${a:0:2} != :: ]] && a=${a:1}
[[ -n $b ]] && a=${a%$f*}:$b