+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");
+ }
+}