X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=blobdiff_plain;f=src%2Fprivacy.c;h=4d8ed9385ec57b4c428e9785a4fce978d9d75d6f;hp=684defc3a115c94edf7e45d452b402ceebbf49e7;hb=1bb09c7d58834ccaa18ece776ee354eb5204a4fc;hpb=54679481f024df074d2cf0197075f58a8e97e1ea diff --git a/src/privacy.c b/src/privacy.c index 684defc3a..4d8ed9385 100644 --- a/src/privacy.c +++ b/src/privacy.c @@ -24,6 +24,33 @@ #include "procmime.h" static GSList *systems = NULL; +static gchar *privacy_last_error = NULL; + +void privacy_set_error(const gchar *format, ...) +{ + va_list args; + gchar buf[BUFSIZ]; + + va_start(args, format); + g_vsnprintf(buf, BUFSIZ, format, args); + va_end(args); + g_free(privacy_last_error); + privacy_last_error = g_strdup(buf); +} + +static gchar tmp_privacy_error[BUFSIZ]; + +const gchar *privacy_get_error (void) +{ + if (privacy_last_error) { + strncpy2(tmp_privacy_error, privacy_last_error, BUFSIZ-1); + g_free(privacy_last_error); + privacy_last_error = NULL; + return tmp_privacy_error; + } else { + return _("Unknown error"); + } +} PrivacySystem *privacy_data_get_system(PrivacyData *data) { @@ -365,7 +392,10 @@ gboolean privacy_encrypt(const gchar *id, MimeInfo *mimeinfo, const gchar *encda g_return_val_if_fail(id != NULL, FALSE); g_return_val_if_fail(mimeinfo != NULL, FALSE); - g_return_val_if_fail(encdata != NULL, FALSE); + if (encdata == NULL) { + privacy_set_error(_("No recipient keys defined.")); + return FALSE; + } system = privacy_get_system(id); if (system == NULL)