From 512de91f9a8da8f491e09653eb4b5bdd0a027198 Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Fri, 4 Nov 2016 12:29:32 +0100 Subject: cpp: Add more EngineInfo::Version ctors * lang/cpp/src/engineinfo.h (EngineInfo::Version::Version(const char*)), (EngineInfo::Version::Version()): New. --- lang/cpp/src/engineinfo.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lang/cpp') diff --git a/lang/cpp/src/engineinfo.h b/lang/cpp/src/engineinfo.h index 72e125c3..aa6fccaf 100644 --- a/lang/cpp/src/engineinfo.h +++ b/lang/cpp/src/engineinfo.h @@ -40,6 +40,12 @@ public: struct Version { int major, minor, patch; + Version() + { + major = 0; + minor = 0; + patch = 0; + } Version(const std::string& version) { @@ -51,6 +57,16 @@ public: } } + Version(const char *version) + { + if (!version || + std::sscanf(version, "%d.%d.%d", &major, &minor, &patch) != 3) { + major = 0; + minor = 0; + patch = 0; + } + } + bool operator < (const Version& other) { if (major < other.major) -- cgit v1.2.3