diff options
-rw-r--r-- | curl-config.in | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/curl-config.in b/curl-config.in index 2f958ca94..0a7e0353f 100644 --- a/curl-config.in +++ b/curl-config.in @@ -6,7 +6,7 @@ # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # -# Copyright (C) 2001 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. +# Copyright (C) 2001 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms @@ -107,17 +107,29 @@ while test $# -gt 0; do # when extracting the patch part we strip off everything after a # dash as that's used for things like version 1.2.3-CVS cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1` - checknum=`echo "$cmajor*256*256 + $cminor*256 + ${cpatch:-0}" | bc` - numuppercase=`echo @VERSIONNUM@ | tr 'a-f' 'A-F'` - nownum=`echo "obase=10; ibase=16; $numuppercase" | bc` - if test "$nownum" -ge "$checknum"; then - # silent success - exit 0 - else - echo "requested version $checkfor is newer than existing @CURLVERSION@" - exit 1 + vmajor=`echo @CURLVERSION@ | cut -d. -f1` + vminor=`echo @CURLVERSION@ | cut -d. -f2` + # when extracting the patch part we strip off everything after a + # dash as that's used for things like version 1.2.3-CVS + vpatch=`echo @CURLVERSION@ | cut -d. -f3 | cut -d- -f1` + + if test "$vmajor" -gt "$cmajor"; then + exit 0; + fi + if test "$vmajor" -eq "$cmajor"; then + if test "$vminor" -gt "$cminor"; then + exit 0 + fi + if test "$vminor" -eq "$cminor"; then + if test "$cpatch" -le "$vpatch"; then + exit 0 + fi + fi fi + + echo "requested version $checkfor is newer than existing @CURLVERSION@" + exit 1 ;; --vernum) |