Commit b9a8decd authored by Matthew Brett's avatar Matthew Brett
Browse files

Add unlex_ver and strip_ver_suffix

For getting versions from versions with suffixes.
parent c5adb79c
...@@ -27,6 +27,18 @@ function lex_ver { ...@@ -27,6 +27,18 @@ function lex_ver {
echo $1 | awk -F "." '{printf "%03d%03d%03d", $1, $2, $3}' echo $1 | awk -F "." '{printf "%03d%03d%03d", $1, $2, $3}'
} }
function unlex_ver {
# Reverses lex_ver to produce major.minor.micro
# Thus:
# 003002001 -> 3.2.1
# 003000000 -> 3.0.0
echo "$((10#${1:0:3}+0)).$((10#${1:3:3}+0)).$((10#${1:6:3}+0))"
}
function strip_ver_suffix {
echo $(unlex_ver $(lex_ver $1))
}
function is_function { function is_function {
# Echo "true" if input argument string is a function # Echo "true" if input argument string is a function
# Allow errors during "set -e" blocks. # Allow errors during "set -e" blocks.
......
...@@ -12,6 +12,16 @@ ...@@ -12,6 +12,16 @@
[ "$(lex_ver 2.1.4)" == "002001004" ] || ingest "lex_ver 2.1.4" [ "$(lex_ver 2.1.4)" == "002001004" ] || ingest "lex_ver 2.1.4"
[ "$(lex_ver 2.1.4rc1)" == "002001004" ] || ingest "lex_ver 2.1.4" [ "$(lex_ver 2.1.4rc1)" == "002001004" ] || ingest "lex_ver 2.1.4"
[ "$(unlex_ver 002000000)" == "2.0.0" ] || ingest "unlex_ver 002000000"
[ "$(unlex_ver 003002012)" == "3.2.12" ] || ingest "unlex_ver 003002012"
# Not octal
[ "$(unlex_ver 003044099)" == "3.44.99" ] || ingest "unlex_ver 003044099"
[ "$(unlex_ver 003543012)" == "3.543.12" ] || ingest "unlex_ver 003543012"
[ "$(unlex_ver 003543012abc)" == "3.543.12" ] || ingest "unlex_ver 003543012abc"
[ "$(strip_ver_suffix 3.4.0rc1)" == "3.4.0" ] || ingest "unlex_ver strip suff 1"
[ "$(strip_ver_suffix 3.24.12a4)" == "3.24.12" ] || ingest "unlex_ver strip suff 2"
[ "$(is_function abspath)" == "true" ] || ingest "is_function abspath" [ "$(is_function abspath)" == "true" ] || ingest "is_function abspath"
[ "$(is_function foo)" == "" ] || ingest "is_function foo" [ "$(is_function foo)" == "" ] || ingest "is_function foo"
bar=baz bar=baz
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment