X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;ds=inline;f=cgi%2Frss.c;fp=cgi%2Frss.c;h=0000000000000000000000000000000000000000;hb=681f470b41ea3674089425b5227a5b0b76291118;hp=f143e5586dbbde4e8bd086cdaaa2b75f2538c1e3;hpb=ac2c65c84fed370fb4dc21e40dce5b407e230821;p=blerg.git diff --git a/cgi/rss.c b/cgi/rss.c deleted file mode 100644 index f143e55..0000000 --- a/cgi/rss.c +++ /dev/null @@ -1,107 +0,0 @@ -/* Blerg is (C) 2011 The Dominion of Awesome, and is distributed under a - * BSD-style license. Please see the COPYING file for details. - */ -#include -#include -#include -#include -#include "database.h" -#include "escapery.h" -#include "canned_responses.h" -#include "app.h" -#include "config.h" - -int fprint_rss(FILE *f, const char *username) { - struct blerg *b = blerg_open(username); - uint64_t record_count = blerg_get_record_count(b); - uint64_t i = (record_count > 50 ? record_count - 50 : 0); - char *data; - char *tmp; - time_t post_time; - char date[40]; - int len; - - fprintf(f, - "\n" - "\n" - "\n" - "%s's blërg\n" - "%s#%s\n" - "%s\n", - username, - BASEURL, - username, - "Textual vomit" - ); - - while (i < record_count) { - blerg_fetch(b, i, &data, &len); - tmp = xml_escape_data(data, len); - post_time = blerg_get_timestamp(b, i); - strftime(date, 39, "%a, %d %b %Y %H:%M:%S %Z", gmtime(&post_time)); - fprintf(f, - "\n" - "%s\n" - "%sget/%s/%llu\n" - "%s\n" - "\n", - date, - BASEURL, username, i, - tmp - ); - free(tmp); - free(data); - i++; - } - blerg_close(b); - - fprintf(f, - "\n" - "\n" - ); -} - -int main (int argc, char *argv) { - char *path; - char *request_method; - int ret; - struct url_info info; - - request_method = getenv("REQUEST_METHOD"); - if (request_method == NULL) { - fprintf(stderr, "Request method is null!?\n"); - exit(0); - } - - if (strncmp(request_method, "GET", 4) != 0) { - respond_405(); - exit(0); - } - - path = getenv("PATH_INFO"); - if (path == NULL) { - respond_404(); - exit(0); - } - - if (path[0] != '/') { - respond_404(); - exit(0); - } - - ret = parse_url_info(path + 1, &info); - if ((ret & URL_INFO_NAME) == 0) { - respond_404(); - exit(0); - } - - if (!blerg_exists(info.name)) { - respond_404(); - exit(0); - } - - printf("Content-type: application/rss+xml\r\n\r\n"); - - fprint_rss(stdout, info.name); - -}