if (ac->passwd && ac->passwd[0])
passwd = g_strdup(ac->passwd);
else
- passwd = input_dialog_query_password(ac->nntp_server,
- userid);
+ passwd = input_dialog_query_password_keep(ac->nntp_server,
+ userid,
+ &(ac->session_passwd));
}
#if (defined(USE_OPENSSL) || defined (USE_GNUTLS))
log_error(LOG_PROTOCOL, _("Error authenticating to %s:%d ...\n"), ac->nntp_server, port);
session_destroy(SESSION(session));
g_free(passwd);
+ if (ac->session_passwd) {
+ g_free(ac->session_passwd);
+ ac->session_passwd = NULL;
+ }
return NULL;
}
}
gint ok;
clist *grouplist = NULL;
clistiter *cur;
- fp = fopen(filename, "wb");
+ fp = g_fopen(filename, "wb");
if (!fp) {
g_free(filename);
if (r == NEWSNNTP_NO_ERROR) {
if (str_write_to_file(result, filename) < 0)
return -1;
+ g_free(result);
}
- g_free(result);
return r;
}
folder_path = news_folder_get_path(folder);
g_return_val_if_fail(folder_path != NULL, NULL);
- if (folder_path[0] == G_DIR_SEPARATOR) {
+ if (g_path_is_absolute(folder_path)) {
if (item->path)
path = g_strconcat(folder_path, G_DIR_SEPARATOR_S,
item->path, NULL);
folder_path, NULL);
}
g_free(folder_path);
-
+#ifdef G_OS_WIN32
+ while (strchr(path, '/'))
+ *strchr(path, '/') = '\\';
+#endif
return path;
}