X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=tools%2Fblerglatest.c;h=1fe133d4eab1cc5e340c65f335bdb61d35b360ed;hb=7034e4be0e5b0cd1a27a067fee5970cf61500b60;hp=a2d1c67b03946e1e1058f9de8a30f0e6609ff81d;hpb=d07aee6282c303bba6ca9dbd0fa0ad3dfca58c5a;p=blerg.git diff --git a/tools/blerglatest.c b/tools/blerglatest.c index a2d1c67..1fe133d 100644 --- a/tools/blerglatest.c +++ b/tools/blerglatest.c @@ -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 #include #include @@ -70,7 +73,7 @@ void things_sort(struct things *things) { qsort(things->arr, things->len, sizeof(struct thing), thing_compare); } -struct things * latest_things(const char *path, const char *file) { +struct things * latest_things(const char *path, const char *file, int minlen) { DIR* d; struct dirent *f; struct things * things = things_alloc(); @@ -81,6 +84,7 @@ struct things * latest_things(const char *path, const char *file) { d = opendir(path); while (f = readdir(d)) { if (f->d_name[0] == '.') continue; + if (minlen > 0 && strlen(f->d_name) < minlen) continue; if (file) { snprintf(filename, 512, "%s/%s/%s", path, f->d_name, file); } else { @@ -98,7 +102,7 @@ struct things * latest_things(const char *path, const char *file) { void latest_tags(yajl_gen g) { int i; - struct things * things = latest_things(HASH_TAGS_PATH, NULL); + struct things * things = latest_things(HASH_TAGS_PATH, NULL, 3); unsigned int count = (things->len >= 50 ? 50 : things->len); yajl_gen_array_open(g); @@ -112,7 +116,7 @@ void latest_tags(yajl_gen g) { void latest_records(yajl_gen g) { int i; - struct things * things = latest_things(DATA_PATH, "meta"); + struct things * things = latest_things(DATA_PATH, "meta", 0); unsigned int count = (things->len >= 50 ? 50 : things->len); yajl_gen_array_open(g); @@ -124,7 +128,7 @@ void latest_records(yajl_gen g) { } uint64_t record_count = blerg_get_record_count(b); if (record_count > 0) - json_generate_one_record(g, things->arr[i].name, b, record_count - 1); + json_generate_one_record(g, things->arr[i].name, b, record_count - 1, 1); blerg_close(b); } yajl_gen_array_close(g);