commit:38ac8fa73118ce0a2d67bc7c640eb20fbd724a55
author:Chip Black
committer:Chip Black
date:Mon Feb 7 04:11:15 2011 -0600
parents:ef568497bf23c8fe38e378f20c175ea6accc7b2f
Limit latest tags to only those three characters or longer
diff --git a/tools/blerglatest.c b/tools/blerglatest.c
line changes: +4/-3
index 727eb18..ed30419
--- a/tools/blerglatest.c
+++ b/tools/blerglatest.c
@@ -70,7 +70,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 +81,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 +99,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 +113,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);