/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2002 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2003 Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
if (nntp_sock == NULL)
return NULL;
- session = g_new(NNTPSession, 1);
+ session = g_new0(NNTPSession, 1);
+ session_init(SESSION(session));
SESSION(session)->type = SESSION_NEWS;
SESSION(session)->server = g_strdup(server);
- session->nntp_sock = nntp_sock;
- SESSION(session)->sock = nntp_sock->sock;
- SESSION(session)->connected = TRUE;
- SESSION(session)->phase = SESSION_READY;
- SESSION(session)->last_access_time = time(NULL);
+ SESSION(session)->sock = NULL;
SESSION(session)->data = NULL;
SESSION(session)->destroy = news_session_destroy;
- session->group = NULL;
+ session->nntp_sock = nntp_sock;
+ session->group = NULL;
return SESSION(session);
}
{
nntp_close(NNTP_SESSION(session)->nntp_sock);
NNTP_SESSION(session)->nntp_sock = NULL;
- session->sock = NULL;
g_free(NNTP_SESSION(session)->group);
}
g_free(filename);
return NULL;
}
- if (recv_write_to_file(SESSION(session)->sock, filename) < 0) {
+ if (recv_write_to_file
+ (session->nntp_sock->sock, filename) < 0) {
log_warning("can't retrieve newsgroup list\n");
session_destroy(SESSION(session));
REMOTE_FOLDER(folder)->session = NULL;
#define READ_TO_LISTEND(hdr) \
while (!(buf[0] == '.' && buf[1] == '\r')) { \
- if (sock_gets(SESSION(session)->sock, buf, sizeof(buf)) < 0) { \
+ if (sock_gets(session->nntp_sock->sock, buf, sizeof(buf)) < 0) { \
log_warning(_("error occurred while getting %s.\n"), hdr); \
return msginfo; \
} \
return NULL;
}
- if (sock_gets(SESSION(session)->sock, buf, sizeof(buf)) < 0) {
+ if (sock_gets(session->nntp_sock->sock, buf, sizeof(buf)) < 0) {
log_warning(_("error occurred while getting xover.\n"));
return NULL;
}
return msginfo;
}
- if (sock_gets(SESSION(session)->sock, buf, sizeof(buf)) < 0) {
+ if (sock_gets(session->nntp_sock->sock, buf, sizeof(buf)) < 0) {
log_warning(_("error occurred while getting xhdr.\n"));
return msginfo;
}
return msginfo;
}
- if (sock_gets(SESSION(session)->sock, buf, sizeof(buf)) < 0) {
+ if (sock_gets(session->nntp_sock->sock, buf, sizeof(buf)) < 0) {
log_warning(_("error occurred while getting xhdr.\n"));
return msginfo;
}
}
for (;;) {
- if (sock_gets(SESSION(session)->sock, buf, sizeof(buf)) < 0) {
+ if (sock_gets(session->nntp_sock->sock, buf, sizeof(buf)) < 0) {
log_warning(_("error occurred while getting xover.\n"));
return newlist;
}
llast = newlist;
for (;;) {
- if (sock_gets(SESSION(session)->sock, buf, sizeof(buf)) < 0) {
+ if (sock_gets(session->nntp_sock->sock, buf, sizeof(buf)) < 0) {
log_warning(_("error occurred while getting xhdr.\n"));
return newlist;
}
llast = newlist;
for (;;) {
- if (sock_gets(SESSION(session)->sock, buf, sizeof(buf)) < 0) {
+ if (sock_gets(session->nntp_sock->sock, buf, sizeof(buf)) < 0) {
log_warning(_("error occurred while getting xhdr.\n"));
return newlist;
}