+ char *content;
+ struct bpph **list;
+ json_object *json;
+
+ content = fcache_get(key);
+ if (!content)
+ return NULL;
+
+ json = json_tokener_parse(content);
+ if (!json)
+ return NULL;
+
+ list = json_object_to_bpph_list(json);
+
+ json_object_put(json);
+ free(content);
+
+ return list;
+}
+
+static char *get_last_creation_date(struct bpph **list)
+{
+ time_t last, t;
+ struct bpph **cur;
+
+ last = 0;
+
+ if (list)
+ for (cur = list; *cur; cur++) {
+ t = (*cur)->date_created;
+ if (t > last)
+ last = t;
+ }
+
+ if (last)
+ return time_to_str(last);
+ else
+ return NULL;
+}
+
+/*
+ * 'archive_url': LP URL of the archive.
+ * 'size': size of the reply array. Between 1-300, else default value is used.
+ */
+static char *create_query_get_bpph(const char *archive_url,
+ const char *status,
+ int size)
+{
+ static const char *default_opt = "?ws.op=getPublishedBinaries&ws.size=";
+ static const char *status_opt = "&status=";