From db532eca8ebd64536985e7a40af22e803e3b3df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= Date: Mon, 4 Apr 2022 13:15:37 +0200 Subject: cpp: Return actual error if revocation fails * lang/cpp/src/editinteractor.cpp, lang/cpp/src/editinteractor.h (EditInteractor::parseStatusError): New. * lang/cpp/src/gpgrevokekeyeditinteractor.cpp (GpgRevokeKeyEditInteractor::Private::nextState): Handle status error. -- With this change the interactor returns a proper error like "Bad Passphrase" or "Empty Passphrase" instead of an unspecific "General Error" if a status error occurred. GnuPG-bug-id: 5904 --- lang/cpp/src/gpgrevokekeyeditinteractor.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lang/cpp/src/gpgrevokekeyeditinteractor.cpp') diff --git a/lang/cpp/src/gpgrevokekeyeditinteractor.cpp b/lang/cpp/src/gpgrevokekeyeditinteractor.cpp index a90b5934..86b3c3c4 100644 --- a/lang/cpp/src/gpgrevokekeyeditinteractor.cpp +++ b/lang/cpp/src/gpgrevokekeyeditinteractor.cpp @@ -116,6 +116,10 @@ unsigned int GpgRevokeKeyEditInteractor::Private::nextState(unsigned int status, return q->state(); } + if (status == GPGME_STATUS_ERROR) { + err = q->parseStatusError(args); + return ERROR; + } switch (const auto state = q->state()) { case START: if (status == GPGME_STATUS_GET_LINE && -- cgit v1.2.3