diff --git a/NEWS b/NEWS index 71d96001..aee3f100 100644 --- a/NEWS +++ b/NEWS @@ -12,8 +12,9 @@ Noteworthy changes in version 1.10.0 (unreleased) GPGME_DELETE_FORCE NEW. gpgme_op_conf_dir NEW. gpgme_set_ctx_flag EXTENDED: New flag 'auto-key-retrieve'. - cpp: DecryptionResult::isDeVs NEW. - cpp: Signature::isDeVs NEW. + cpp: DecryptionResult::isDeVs NEW. + cpp: Signature::isDeVs NEW. + cpp: EngineInfo::Version::operator> NEW. py: DecryptResult EXTENDED: New boolean field 'is_de_vs'. py: Signature EXTENDED: New boolean field 'is_de_vs'. py: GpgError EXTENDED: Partial results in 'results'. diff --git a/lang/cpp/src/engineinfo.h b/lang/cpp/src/engineinfo.h index b216de80..cd1b7a72 100644 --- a/lang/cpp/src/engineinfo.h +++ b/lang/cpp/src/engineinfo.h @@ -71,13 +71,13 @@ public: bool operator < (const Version& other) { - if (major < other.major) - return true; - if (minor < other.minor) - return true; - if (patch < other.patch) - return true; - return false; + if (major > other.major || + (major == other.major && minor > other.minor) || + (major == other.major && minor == other.minor && patch > other.patch) || + (major >= other.major && minor >= other.minor && patch >= other.patch)) { + return false; + } + return true; } bool operator < (const char* other) @@ -85,6 +85,15 @@ public: return operator<(Version(other)); } + bool operator > (const char* other) + { + return !operator<(Version(other)); + } + + bool operator > (const Version & other) + { + return !operator<(other); + } bool operator == (const Version& other) { return major == other.major