cpp: Add safer member function returning text describing an error
* lang/cpp/src/error.h, lang/cpp/src/context.cpp (class Error): New member function asStdString. -- Unlike asString the new function doesn't cache the value returned by gpgme_strerror_r. This ensures that on Windows the UTF-8 encoded text is returned for the main thread even if the function was called before for another thread. For other threads asStdString will still return the natively encoded error description until UTF-8 encoded error descriptions can be enabled for all threads (T7185). GnuPG-bug-id: 7188
This commit is contained in:
parent
acf574af64
commit
2656d3ee5b
4
NEWS
4
NEWS
@ -14,6 +14,9 @@ Noteworthy changes in version 1.24.0 (unrelease)
|
|||||||
* cpp: Provide information about designated revocation keys for a Key.
|
* cpp: Provide information about designated revocation keys for a Key.
|
||||||
[T7118]
|
[T7118]
|
||||||
|
|
||||||
|
* cpp: Add safer member function returning text describing an error.
|
||||||
|
[T5960]
|
||||||
|
|
||||||
* qt: Install headers for Qt 5 and Qt 6 in separate folders. [T7161]
|
* qt: Install headers for Qt 5 and Qt 6 in separate folders. [T7161]
|
||||||
|
|
||||||
* qt: Allow reading the data to decrypt/encrypt/sign/verify directly from
|
* qt: Allow reading the data to decrypt/encrypt/sign/verify directly from
|
||||||
@ -39,6 +42,7 @@ Noteworthy changes in version 1.24.0 (unrelease)
|
|||||||
cpp: Key::revocationKey NEW.
|
cpp: Key::revocationKey NEW.
|
||||||
cpp: Key::numRevocationKeys NEW.
|
cpp: Key::numRevocationKeys NEW.
|
||||||
cpp: Key::revocationKeys NEW.
|
cpp: Key::revocationKeys NEW.
|
||||||
|
cpp: Error::asStdString NEW.
|
||||||
qt: DecryptVerifyJob::setInputFile NEW.
|
qt: DecryptVerifyJob::setInputFile NEW.
|
||||||
qt: DecryptVerifyJob::inputFile NEW.
|
qt: DecryptVerifyJob::inputFile NEW.
|
||||||
qt: DecryptVerifyJob::setOutputFile NEW.
|
qt: DecryptVerifyJob::setOutputFile NEW.
|
||||||
|
@ -130,6 +130,13 @@ const char *Error::asString() const
|
|||||||
return mMessage.c_str();
|
return mMessage.c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string Error::asStdString() const
|
||||||
|
{
|
||||||
|
std::string message;
|
||||||
|
format_error(static_cast<gpgme_error_t>(mErr), message);
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
int Error::code() const
|
int Error::code() const
|
||||||
{
|
{
|
||||||
return gpgme_err_code(mErr);
|
return gpgme_err_code(mErr);
|
||||||
|
@ -48,6 +48,7 @@ public:
|
|||||||
|
|
||||||
const char *source() const;
|
const char *source() const;
|
||||||
const char *asString() const;
|
const char *asString() const;
|
||||||
|
std::string asStdString() const;
|
||||||
|
|
||||||
int code() const;
|
int code() const;
|
||||||
int sourceID() const;
|
int sourceID() const;
|
||||||
|
Loading…
Reference in New Issue
Block a user