Some missing includes and a format error in blergtool
[blerg.git] / tools / blerglatest.c
index ed30419..eaf887e 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>
@@ -9,6 +12,7 @@
 #include "database.h"
 #include "json.h"
 #include "config.h"
+#include "configuration.h"
 
 yajl_gen_config yajl_config = {0, 0};
 
@@ -79,6 +83,11 @@ struct things * latest_things(const char *path, const char *file, int minlen) {
        int i;
 
        d = opendir(path);
+       if (d == NULL) {
+               fprintf(stderr, "Could not open %s: ", path);
+               perror("");
+               exit(1);
+       }
        while (f = readdir(d)) {
                if (f->d_name[0] == '.') continue;
                if (minlen > 0 && strlen(f->d_name) < minlen) continue;
@@ -99,7 +108,7 @@ struct things * latest_things(const char *path, const char *file, int minlen) {
 
 void latest_tags(yajl_gen g) {
        int i;
-       struct things * things = latest_things(HASH_TAGS_PATH, NULL, 3);
+       struct things * things = latest_things(blergconf.hash_tags_path, NULL, 3);
 
        unsigned int count = (things->len >= 50 ? 50 : things->len);
        yajl_gen_array_open(g);
@@ -113,7 +122,7 @@ void latest_tags(yajl_gen g) {
 
 void latest_records(yajl_gen g) {
        int i;
-       struct things * things = latest_things(DATA_PATH, "meta", 0);
+       struct things * things = latest_things(blergconf.data_path, "meta", 0);
 
        unsigned int count = (things->len >= 50 ? 50 : things->len);
        yajl_gen_array_open(g);
@@ -136,6 +145,9 @@ int main(int argc, char *argv[]) {
        const unsigned char *buf;
        unsigned int len;
 
+       if (!blerg_init())
+               exit(1);
+
        yajl_gen g = yajl_gen_alloc(&yajl_config, NULL);
 
        yajl_gen_map_open(g);