summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Klöcker <dev@ingo-kloecker.de>2023-01-31 11:48:19 +0100
committerIngo Klöcker <dev@ingo-kloecker.de>2023-01-31 12:01:33 +0100
commit41a30f6d9f59b08213ab2c307036be9bc9b6f876 (patch)
tree63a1ece431ceab3205cf81da5c2b005bf285648f
parent8c4436e73af369f79f125f56d020d01b184cafc6 (diff)
downloadgpgme-41a30f6d9f59b08213ab2c307036be9bc9b6f876.tar.gz
cpp: Fix debug output of SignatureMode
* lang/cpp/src/context.cpp (operator<<): Treat signature mode as combination of a 2-bit flag and a 1-bit flag. -- This fixes the output for normal signature mode. GnuPG-bug-id: 6342
-rw-r--r--lang/cpp/src/context.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp
index f93887f5..afe32299 100644
--- a/lang/cpp/src/context.cpp
+++ b/lang/cpp/src/context.cpp
@@ -1906,10 +1906,18 @@ std::ostream &operator<<(std::ostream &os, KeyListMode mode)
std::ostream &operator<<(std::ostream &os, SignatureMode mode)
{
os << "GpgME::SignatureMode(";
-#define CHECK( x ) if ( !(mode & (x)) ) {} else do { os << #x " "; } while (0)
+#undef CHECK
+ switch (mode & (NormalSignatureMode|Detached|Clearsigned)) {
+#define CHECK( x ) case x: os << #x; break
CHECK(NormalSignatureMode);
CHECK(Detached);
CHECK(Clearsigned);
+#undef CHECK
+ default:
+ os << "???" "(" << static_cast<int>(mode) << ')';
+ break;
+ }
+#define CHECK( x ) if ( !(mode & (x)) ) {} else do { os << #x " "; } while (0)
CHECK(SignArchive);
#undef CHECK
return os << ')';