From 789a3f041ca391d4521929504777b6df77c2cee0 Mon Sep 17 00:00:00 2001 From: Vladimir Panteleev Date: Mon, 21 Aug 2023 07:35:15 +0000 Subject: [PATCH] deimos.openssl.opensslv: Fix parsing versions with suffixes --- source/deimos/openssl/opensslv.di | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/deimos/openssl/opensslv.di b/source/deimos/openssl/opensslv.di index c89acca..277afd9 100644 --- a/source/deimos/openssl/opensslv.di +++ b/source/deimos/openssl/opensslv.di @@ -85,6 +85,8 @@ private OpenSSLVersionStruct parseOpenSSLVersion()(string textVersion) v.text = textVersion; + textVersion = textVersion.splitter('-').front; + v.major = textVersion.splitter('.') .front.to!uint; assert (v.major >= 0); @@ -115,6 +117,14 @@ private OpenSSLVersionStruct parseOpenSSLVersion()(string textVersion) return v; } +version (DeimosOpenSSLTest) +{ + static assert(parseOpenSSLVersion("0.9.3") == OpenSSLVersionStruct("0.9.3", 0, 9, 3)); + static assert(parseOpenSSLVersion("3.0.10") == OpenSSLVersionStruct("3.0.10", 3, 0, 10)); + static assert(parseOpenSSLVersion("1.1.1v") == OpenSSLVersionStruct("1.1.1v", 1, 1, 1, 22)); + static assert(parseOpenSSLVersion("1.1.1o-freebsd") == OpenSSLVersionStruct("1.1.1o-freebsd", 1, 1, 1, 15)); +} + /* Numeric release version identifier: * MNNFFPPS: major minor fix patch status * The status nibble has one of the values 0 for development, 1 to e for betas