summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Klöcker <dev@ingo-kloecker.de>2023-02-09 09:55:38 +0100
committerIngo Klöcker <dev@ingo-kloecker.de>2023-02-09 09:56:18 +0100
commit3aaed9cfbfd6821b2e812fbdd24448953d6ca279 (patch)
treeb50363b184cc1d2b9852b2dbf328904554293e5c
parent7098c14b231113055535abb14b4cde0c845f8728 (diff)
downloadgpgme-3aaed9cfbfd6821b2e812fbdd24448953d6ca279.tar.gz
cpp: Improve debug output of some enums
* lang/cpp/src/verificationresult.cpp (operator<<): Fix output of Signature::PKAStatus which doesn't represent flags. Print corresponding name of enum value if Signature::Summary or Notation::Flags are 0. -- GnuPG-bug-id: 6368
-rw-r--r--lang/cpp/src/verificationresult.cpp51
1 files changed, 32 insertions, 19 deletions
diff --git a/lang/cpp/src/verificationresult.cpp b/lang/cpp/src/verificationresult.cpp
index bfe82e30..1c657721 100644
--- a/lang/cpp/src/verificationresult.cpp
+++ b/lang/cpp/src/verificationresult.cpp
@@ -544,32 +544,41 @@ std::ostream &GpgME::operator<<(std::ostream &os, const VerificationResult &resu
std::ostream &GpgME::operator<<(std::ostream &os, Signature::PKAStatus pkaStatus)
{
-#define OUTPUT( x ) if ( !(pkaStatus & (GpgME::Signature:: x)) ) {} else do { os << #x " "; } while(0)
os << "GpgME::Signature::PKAStatus(";
- OUTPUT(UnknownPKAStatus);
- OUTPUT(PKAVerificationFailed);
- OUTPUT(PKAVerificationSucceeded);
+ switch (pkaStatus) {
+#define OUTPUT( x ) case GpgME::Signature:: x: os << #x; break
+ OUTPUT(UnknownPKAStatus);
+ OUTPUT(PKAVerificationFailed);
+ OUTPUT(PKAVerificationSucceeded);
#undef OUTPUT
+ default:
+ os << "??? (" << static_cast<int>(pkaStatus) << ')';
+ break;
+ }
return os << ')';
}
std::ostream &GpgME::operator<<(std::ostream &os, Signature::Summary summary)
{
-#define OUTPUT( x ) if ( !(summary & (GpgME::Signature:: x)) ) {} else do { os << #x " "; } while(0)
os << "GpgME::Signature::Summary(";
- OUTPUT(Valid);
- OUTPUT(Green);
- OUTPUT(Red);
- OUTPUT(KeyRevoked);
- OUTPUT(KeyExpired);
- OUTPUT(SigExpired);
- OUTPUT(KeyMissing);
- OUTPUT(CrlMissing);
- OUTPUT(CrlTooOld);
- OUTPUT(BadPolicy);
- OUTPUT(SysError);
- OUTPUT(TofuConflict);
+ if (summary == Signature::None) {
+ os << "None";
+ } else {
+#define OUTPUT( x ) if ( !(summary & (GpgME::Signature:: x)) ) {} else do { os << #x " "; } while(0)
+ OUTPUT(Valid);
+ OUTPUT(Green);
+ OUTPUT(Red);
+ OUTPUT(KeyRevoked);
+ OUTPUT(KeyExpired);
+ OUTPUT(SigExpired);
+ OUTPUT(KeyMissing);
+ OUTPUT(CrlMissing);
+ OUTPUT(CrlTooOld);
+ OUTPUT(BadPolicy);
+ OUTPUT(SysError);
+ OUTPUT(TofuConflict);
#undef OUTPUT
+ }
return os << ')';
}
@@ -603,10 +612,14 @@ std::ostream &GpgME::operator<<(std::ostream &os, const Signature &sig)
std::ostream &GpgME::operator<<(std::ostream &os, Notation::Flags flags)
{
os << "GpgME::Notation::Flags(";
+ if (flags == Notation::NoFlags) {
+ os << "NoFlags";
+ } else {
#define OUTPUT( x ) if ( !(flags & (GpgME::Notation:: x)) ) {} else do { os << #x " "; } while(0)
- OUTPUT(HumanReadable);
- OUTPUT(Critical);
+ OUTPUT(HumanReadable);
+ OUTPUT(Critical);
#undef OUTPUT
+ }
return os << ')';
}