GError **error)
{
GIOErrorEnum errcode;
+ char errbuf[1024];
/* XXX This list is incomplete. Add cases as needed. */
/* special case - abort on out-of-memory */
case GPG_ERR_ENOMEM:
+ (void) gpg_strerror_r (gpg_error, errbuf, sizeof (errbuf));
+ errbuf[sizeof(errbuf)-1] = '\0';
g_error ("%s: %s",
gpgme_strsource (gpg_error),
- gpgme_strerror (gpg_error));
+ errbuf);
case GPG_ERR_INV_VALUE:
errcode = G_IO_ERROR_INVALID_ARGUMENT;
break;
}
+ (void) gpg_strerror_r (gpg_error, errbuf, sizeof (errbuf));
+ errbuf[sizeof(errbuf)-1] = '\0';
g_set_error (error, G_IO_ERROR, errcode, "%s: %s",
gpgme_strsource (gpg_error),
- gpgme_strerror (gpg_error));
+ errbuf);
}
gboolean