Genericize and extend url_info
[blerg.git] / cgi / cgi_blerg.c
index 83dd53d..b6dcb3a 100644 (file)
@@ -1,3 +1,6 @@
+/* Blerg is (C) 2011 The Dominion of Awesome, and is distributed under a
+ * BSD-style license.  Please see the COPYING file for details.
+ */
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -30,7 +33,7 @@ void respond_for_range(struct blerg *b, uint64_t from, uint64_t to) {
        yajl_gen_array_open(g);
 
        for (i = to; i != from - 1; i--) {
-               json_generate_one_record(g, NULL, b, i);
+               json_generate_one_record(g, NULL, b, i, 0);
                yajl_gen_get_buf(g, &ybuf, &len);
                fwrite(ybuf, len, 1, stdout);
                yajl_gen_clear(g);
@@ -58,7 +61,7 @@ void respond_taglist(struct tag *results, int i) {
        while (i >= 0) {
                b = blerg_open(results[i].author);
                if (b != NULL) {
-                       json_generate_one_record(g, results[i].author, b, results[i].record);
+                       json_generate_one_record(g, results[i].author, b, results[i].record, 0);
                        blerg_close(b);
                }
                yajl_gen_get_buf(g, &ybuf, &len);
@@ -107,17 +110,17 @@ int main(int argc, char *argv[]) {
                }
 
                ret = parse_url_info(path + 5, &info);
-               if ((ret & URL_INFO_AUTHOR) == 0) {
+               if ((ret & URL_INFO_NAME) == 0) {
                        respond_404();
                        exit(0);
                }
 
-               if (!blerg_exists(info.author)) {
+               if (!blerg_exists(info.name)) {
                        respond_404();
                        exit(0);
                }
 
-               struct blerg *b = blerg_open(info.author);
+               struct blerg *b = blerg_open(info.name);
 
                if ((ret & URL_INFO_RECORD) && (ret & URL_INFO_RECORD_TO)) {
                        respond_for_range(b, info.record, info.record_to);
@@ -154,20 +157,20 @@ int main(int argc, char *argv[]) {
                }
 
                ret = parse_url_info(path + 5, &info);
-               if ((ret & URL_INFO_AUTHOR) == 0) {
+               if ((ret & URL_INFO_NAME) == 0) {
                        respond_404();
                        exit(0);
                }
 
-               if (info.author[0] == 'H')
-                       info.author[0] = '#';
-               if (!tag_exists(info.author)) {
+               if (info.name[0] == 'H')
+                       info.name[0] = '#';
+               if (!tag_exists(info.name)) {
                        respond_404();
                        exit(0);
                }
 
                int recs = 50;
-               struct tag *taglist = tag_list(info.author, 0, &recs, -1);
+               struct tag *taglist = tag_list(info.name, 0, &recs, -1);
 
                if (recs == 0) {
                        respond_simple_data("[]", 2);
@@ -224,17 +227,17 @@ int main(int argc, char *argv[]) {
                }
 
                ret = parse_url_info(path + 6, &info);
-               if ((ret & URL_INFO_AUTHOR) == 0) {
+               if ((ret & URL_INFO_NAME) == 0) {
                        respond_404();
                        exit(0);
                }
 
-               if (!blerg_exists(info.author)) {
+               if (!blerg_exists(info.name)) {
                        respond_404();
                        exit(0);
                }
 
-               struct blerg *b = blerg_open(info.author);
+               struct blerg *b = blerg_open(info.name);
                uint64_t record_count = blerg_get_record_count(b);
                blerg_close(b);