X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Flp_ws.c;h=023ba9b28f17e58af7f096adf0bea4fac4edbaad;hb=be68914bbcbfde6dbc51e20075691afbab3c2489;hp=f52f935f16b82dbcd689dc4e6878d9fdc213f09a;hpb=95e531f5b9181ddba07c578c0150f00ff3accb25;p=ppastats.git diff --git a/src/lp_ws.c b/src/lp_ws.c index f52f935..023ba9b 100644 --- a/src/lp_ws.c +++ b/src/lp_ws.c @@ -28,6 +28,7 @@ #include #include "cache.h" +#include "fcache.h" #include "list.h" #include "log.h" #include "lp_ws.h" @@ -235,12 +236,24 @@ const struct distro_arch_series *get_distro_arch_series(const char *url) { json_object *obj; const struct distro_arch_series *distro; + char *content; distro = cache_get(url); if (distro) return (struct distro_arch_series *)distro; - obj = get_json_object(url); + content = fcache_get(url + 7); + if (!content) { + content = fetch_url(url); + if (content) + fcache_put(url + 7, content); + else + return NULL; + } + + obj = json_tokener_parse(content); + + free(content); if (!obj) return NULL;