X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=database%2Fsubscription.c;h=5d305d11657e7446966eb66f7e50abda0d010e78;hb=65a1f7dc82554486ffa9cc03eac29a7a1642f046;hp=d67d31f51ef6b2d30733e08e7e460e859c5b4473;hpb=ec8746b44dc85fd3e3b42835f779890684a9e90a;p=blerg.git diff --git a/database/subscription.c b/database/subscription.c index d67d31f..5d305d1 100644 --- a/database/subscription.c +++ b/database/subscription.c @@ -128,3 +128,32 @@ subscription_list_open_failed: *count = 0; return NULL; } + +int is_subscribed(const char *from, const char *to) { + char filename[512]; + struct stringbucket * sb; + int ret = 0; + + snprintf(filename, 512, "%s/%s/subscriptions", DATA_PATH, from); + sb = stringbucket_open(filename); + if (stringbucket_find(sb, to) != -1) + ret = 1; + stringbucket_close(sb); + + return ret; +} + +int subscription_count_items(const char *user) { + char filename[512]; + struct stat st; + + if (!valid_name(user)) + return -1; + + snprintf(filename, 512, "%s/%s/subscription_feed", DATA_PATH, user); + + if (access(filename, R_OK) != 0) + return 0; + stat(filename, &st); + return st.st_size / sizeof(struct blergref); +}