From 40ea1c85773cbe324557c34b3a4282f609fcdaf6 Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Wed, 24 Aug 2016 13:57:49 +0200 Subject: [PATCH] Cpp: Use fpr field for primaryFingerprint * lang/cpp/src/key.cpp (Key::primaryFingerprint): Return fpr value if available. -- Should not be necessary but we might have an incomplete key without subkeys but the fingerprint already set in gpgme's data type. --- lang/cpp/src/key.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lang/cpp/src/key.cpp b/lang/cpp/src/key.cpp index 68d7685f..6f40f666 100644 --- a/lang/cpp/src/key.cpp +++ b/lang/cpp/src/key.cpp @@ -259,11 +259,16 @@ const char *Key::shortKeyID() const const char *Key::primaryFingerprint() const { - const char *fpr = key && key->subkeys ? key->subkeys->fpr : 0 ; - if (fpr) { - return fpr; - } else { - return keyID(); + if (!key) { + return nullptr; + } + if (key->fpr) { + /* Return what gpgme thinks is the primary fingerprint */ + return key->fpr; + } + if (key->subkeys) { + /* Return the first subkeys fingerprint */ + return key->subkeys->fpr; } }