#include "buffy.h"
#include "crypt.h"
-#define WANT_LISTGROUP_COMMAND 0
-
static unsigned int _checked = 0;
void nntp_sync_sidebar (NNTP_DATA* data) {
if (m_strncmp("500", buf, 3))
serv->hasXPAT = 1;
-#if WANT_LISTGROUP_COMMAND
mutt_socket_write (conn, "LISTGROUP\r\n");
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
return (nntp_connect_error (serv));
if (m_strncmp("500", buf, 3))
serv->hasLISTGROUP = 1;
-#endif
mutt_socket_write (conn, "XGTITLE +\r\n");
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
char *msg;
} FETCH_CONTEXT;
-#define fc ((FETCH_CONTEXT *) c)
-
-#if WANT_LISTGROUP_COMMAND
-static int _nntp_fetch_numbers (unsigned int num, void *c)
+static int nntp_fetch_numbers (char *line, void *c)
{
+ unsigned int num;
+ FETCH_CONTEXT *fc = c;
+
+ if (!line)
+ return 0;
+
+ num = atoi(line);
if (num < fc->base || num > fc->last)
return 0;
+
fc->messages[num - fc->base] = 1;
return 0;
}
-static int nntp_fetch_numbers (char *line, void *c)
-{
- if (!line)
- return 0;
- return (_nntp_fetch_numbers ((unsigned int) atoi (line), c));
-}
-#endif
static int add_xover_line (char *line, void *c)
{
unsigned int num, total;
+ FETCH_CONTEXT *fc = c;
CONTEXT *ctx = fc->ctx;
NNTP_DATA *data = (NNTP_DATA *) ctx->data;
fc.base = first;
fc.last = last;
fc.messages = p_new(unsigned short, last - first + 1);
-#if WANT_LISTGROUP_COMMAND
+
if (nntp_data->nserv->hasLISTGROUP) {
snprintf (buf, sizeof (buf), "LISTGROUP %s\r\n", nntp_data->group);
if (mutt_nntp_fetch (nntp_data, buf, NULL, NULL, nntp_fetch_numbers, &fc, 0) !=
p_delete(&fc.messages);
return -1;
}
- }
- else {
-#endif
+ } else {
for (num = 0; num < last - first + 1; num++)
fc.messages[num] = 1;
-#if WANT_LISTGROUP_COMMAND
}
-#endif
/* CACHE: must be loaded xover cache here */
num = nntp_data->lastCached - first + 1;