aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2016-11-04 11:29:32 +0000
committerAndre Heinecke <[email protected]>2016-11-04 11:29:32 +0000
commit512de91f9a8da8f491e09653eb4b5bdd0a027198 (patch)
treed8a9b7b380a66d9b9d13187851679b8fa83264bf
parentcpp: Don't include gpgme.h in tofuinfo header (diff)
downloadgpgme-512de91f9a8da8f491e09653eb4b5bdd0a027198.tar.gz
gpgme-512de91f9a8da8f491e09653eb4b5bdd0a027198.zip
cpp: Add more EngineInfo::Version ctors
* lang/cpp/src/engineinfo.h (EngineInfo::Version::Version(const char*)), (EngineInfo::Version::Version()): New.
-rw-r--r--NEWS2
-rw-r--r--lang/cpp/src/engineinfo.h16
2 files changed, 18 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index e43aa30d..4d2a110e 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,8 @@ Noteworthy changes in version 1.7.2 (unreleased)
gpgme_query_swdb_result_t NEW.
qt: DN NEW.
qt: DN::Attribute NEW.
+ cpp: EngineInfo::Version::Version(const char*) NEW.
+ cpp: EngineInfo::Version::Version() NEW.
Noteworthy changes in version 1.7.1 (2016-10-18)
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)