blob: 1ca1fb614e35decf66e18c0512aed4396970b9f7 [file] [log] [blame]
Anas Nashif806ac752016-09-13 12:35:58 -04001#!/bin/bash
2
3# `vercomp()` is copied from: http://stackoverflow.com/a/4025065
4
5# Usage: vercomp <version 1> <version 2>
6# return codes:
7# 0: version 1 and version 2 are the same
8# 1: version 1 is higher
9# 2: version 2 is higher
10
11
12vercomp () {
13 if [[ $1 == $2 ]]
14 then
15 return 0
16 fi
17 local IFS=.
18 local i ver1=($1) ver2=($2)
19 # fill empty fields in ver1 with zeros
20 for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
21 do
22 ver1[i]=0
23 done
24 for ((i=0; i<${#ver1[@]}; i++))
25 do
26 if [[ -z ${ver2[i]} ]]
27 then
28 # fill empty fields in ver2 with zeros
29 ver2[i]=0
30 fi
31 if ((10#${ver1[i]} > 10#${ver2[i]}))
32 then
33 return 1
34 fi
35 if ((10#${ver1[i]} < 10#${ver2[i]}))
36 then
37 return 2
38 fi
39 done
40 return 0
41}
42
43vercomp $1 $2