[PATCH 2/3] Use a posix equivalent solution instead of the pattern substitution bashism.
Cristian Ionescu-Idbohrn
cristian.ionescu-idbohrn at axis.com
Sun Feb 24 01:48:04 PST 2013
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com>
---
scripts/get-version | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/scripts/get-version b/scripts/get-version
index 4427ca0..8fcb6b2 100755
--- a/scripts/get-version
+++ b/scripts/get-version
@@ -5,7 +5,7 @@
# (see below)
set -eu
-set -x
+#set -x
croak() {
echo "$0: $*" >&2
@@ -32,7 +32,9 @@ case $os in
darwin|win)
# just the dots in the version string - this way we can
# count them
- dots="${v0//[^.]}"
+ IFS=.
+ set -- $v0 # split $v0 using $IFS separator
+ dots=$(($# - 1)) # use positional argument count
# split version string using a '-' separator
IFS='-'
set -- $v0
@@ -40,7 +42,7 @@ case $os in
# do we need to add another digit?
# We know there are 1 or 2 dots in $v, so if it's just one
# or we are trying to get to 4, add one digit
- if [ ${#dots} -eq 1 ] || [ $os = win ]; then
+ if [ $dots -eq 1 ] || [ $os = win ]; then
if [ $# -gt 1 ]; then
v=$v.$2
else
@@ -48,7 +50,7 @@ case $os in
fi
fi
# and if it was just one dot and we want 4, at another 0
- if [ ${#dots} -eq 1 ] && [ $os = win ]; then
+ if [ $dots -eq 1 ] && [ $os = win ]; then
v=$v.0
fi
;;
--
1.7.10.4
More information about the subsurface
mailing list