return result;
}
+struct headline **
+headlines_add(struct headline **list, struct headline *h)
+{
+ return (struct headline **)list_add((void **)list, (void *)h);
+}
struct headline *feed_get_headline(struct feed *feed, int id)
{
h->id = hid;
h->excerpt = NULL;
h->content = NULL;
+ h->title = NULL;
+ h->url = NULL;
- tmp = (struct headline **)list_add((void **)feed->headlines, h);
+ tmp = headlines_add(feed->headlines, h);
if (feed->headlines)
free(feed->headlines);
feed->headlines = tmp;
}
- j = json_object_object_get(jheadline, "title");
- h->title = strdup(json_object_get_string(j));
+ if (!h->title) {
+ j = json_object_object_get(jheadline, "title");
+ h->title = strdup(json_object_get_string(j));
+ }
- j = json_object_object_get(jheadline, "link");
- h->url = strdup(json_object_get_string(j));
+ if (!h->url) {
+ j = json_object_object_get(jheadline, "link");
+ h->url = strdup(json_object_get_string(j));
+ }
j = json_object_object_get(jheadline, "unread");
h->unread = json_object_get_boolean(j);