dotfiles/.config/ml4w/version/library.sh

36 lines
736 B
Bash

vercomp() {
if [[ $1 == $2 ]]; then
return 0
fi
local IFS=.
local i ver1=($1) ver2=($2)
# fill empty fields in ver1 with zeros
for ((i = ${#ver1[@]}; i < ${#ver2[@]}; i++)); do
ver1[i]=0
done
for ((i = 0; i < ${#ver1[@]}; i++)); do
if ((10#${ver1[i]:=0} > 10#${ver2[i]:=0})); then
return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]})); then
return 2
fi
done
return 0
}
testvercomp() {
vercomp $1 $2
case $? in
0) op='=' ;;
1) op='>' ;;
2) op='<' ;;
esac
if [[ $op != $3 ]]; then
# No update available
echo "1"
else
# Update available
echo "0"
fi
}