From: Art Cancro Date: Fri, 28 Mar 2014 16:36:15 +0000 (-0400) Subject: more over/xover stuff X-Git-Tag: v9.01~122^2~6 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=6ea59f0428823b216cd1a6f19116a9147e97191b more over/xover stuff --- diff --git a/citadel/modules/nntp/serv_nntp.c b/citadel/modules/nntp/serv_nntp.c index 3473b49e3..db3e1dc22 100644 --- a/citadel/modules/nntp/serv_nntp.c +++ b/citadel/modules/nntp/serv_nntp.c @@ -971,7 +971,37 @@ void nntp_xover_backend(long msgnum, void *userdata) { if (msgnum < lr->lo) return; if ((lr->hi != 0) && (msgnum > lr->hi)) return; - cprintf("FIXME %ld FIXME\r\n", msgnum); // FIXME need to actually show the overview data + struct CtdlMessage *msg = CtdlFetchMessage(msgnum, 0); + if (msg == NULL) { + return; + } + + // Teh RFC says we need: + // ------------------------- + // Subject header content + // From header content + // Date header content + // Message-ID header content + // References header content + // :bytes metadata item + // :lines metadata item + + time_t msgtime = atol(msg->cm_fields[eTimestamp]); + char strtimebuf[26]; + ctime_r(&msgtime, strtimebuf); + + // here we go -- print the line o'data + cprintf("%ld\t%s\t%s <%s>\t%s\t%s\t%s\t100\t10\r\n", + msgnum, + msg->cm_fields[eMsgSubject], + msg->cm_fields[eAuthor], + msg->cm_fields[erFc822Addr], + strtimebuf, + msg->cm_fields[emessageId], + msg->cm_fields[eWeferences] + ); + + CM_Free(msg); }