From: Art Cancro Date: Thu, 26 May 2011 16:30:59 +0000 (-0400) Subject: Apply fixes suggested by http://www.feedvalidator.org X-Git-Tag: v8.11~694 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=3e4d69601ac61ba4781adef49438380b6132ac41;p=citadel.git Apply fixes suggested by http://www.feedvalidator.org --- diff --git a/webcit/feed_generator.c b/webcit/feed_generator.c index c4072f365..b2dd236d6 100644 --- a/webcit/feed_generator.c +++ b/webcit/feed_generator.c @@ -30,6 +30,7 @@ void feed_rss_one_message(long msgnum) { int in_body = 0; int in_messagetext = 0; int found_title = 0; + int found_guid = 0; char pubdate[128]; StrBuf *messagetext = NULL; @@ -41,7 +42,7 @@ void feed_rss_one_message(long msgnum) { wc_printf(""); wc_printf("%s/readfwd?go=", ChrPtr(site_prefix)); - urlescputs(ChrPtr(WC->CurRoom.name)); + escputs(ChrPtr(WC->CurRoom.name)); wc_printf("?start_reading_at=%ld", msgnum); while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { @@ -61,9 +62,10 @@ void feed_rss_one_message(long msgnum) { ++found_title; } else if (!strncasecmp(buf, "exti=", 5)) { - wc_printf(""); + wc_printf(""); escputs(&buf[5]); wc_printf(""); + ++found_guid; } else if (!strncasecmp(buf, "time=", 5)) { http_datestring(pubdate, sizeof pubdate, atol(&buf[5])); @@ -73,6 +75,12 @@ void feed_rss_one_message(long msgnum) { if (!found_title) { wc_printf("Message #%ld", msgnum); } + if (!found_guid) { + wc_printf("%ld@%s", + msgnum, + ChrPtr(WC->serv_info->serv_humannode) + ); + } wc_printf(""); in_body = 1; messagetext = NewStrBuf(); @@ -123,7 +131,7 @@ void feed_rss(void) { char buf[1024]; output_headers(0, 0, 0, 0, 1, 0); - hprintf("Content-type: text/xml\r\n"); + hprintf("Content-type: text/xml; charset=utf-8\r\n"); hprintf( "Server: %s / %s\r\n" "Connection: close\r\n" @@ -133,7 +141,7 @@ void feed_rss(void) { begin_burst(); wc_printf("" - "" + "" "" ); @@ -142,8 +150,8 @@ void feed_rss(void) { wc_printf(""); wc_printf(""); - urlescputs(ChrPtr(site_prefix)); - wc_printf(""); + escputs(ChrPtr(site_prefix)); + wc_printf("/"); serv_puts("RINF"); serv_getln(buf, sizeof buf); @@ -159,12 +167,12 @@ void feed_rss(void) { wc_printf(""); escputs(ChrPtr(WC->CurRoom.name)); wc_printf(""); - urlescputs(ChrPtr(site_prefix)); + escputs(ChrPtr(site_prefix)); wc_printf("/image?name=_roompic_?go="); urlescputs(ChrPtr(WC->CurRoom.name)); wc_printf(""); - urlescputs(ChrPtr(site_prefix)); - wc_printf("\r\n"); + escputs(ChrPtr(site_prefix)); + wc_printf("/\r\n"); feed_rss_do_messages();