X-Git-Url: https://git.wpitchoune.net/gitweb/?p=prss.git;a=blobdiff_plain;f=src%2Fttrss.c;h=1f971551b2a3a17b7cee8359c459e843f78e80f5;hp=99b8bc416eadb617372d305656300ab3a00d0888;hb=9e8f000157c9c09742b5cc55f768782e16db240c;hpb=3b14915e76fc7a05512e0523afd39556c0a14567 diff --git a/src/ttrss.c b/src/ttrss.c index 99b8bc4..1f97155 100644 --- a/src/ttrss.c +++ b/src/ttrss.c @@ -214,6 +214,7 @@ int ws_update_headlines(struct feed *feed) struct json_object *rp, *rq, *jheadline, *j; int i, n, err, hid; struct headline *h, **tmp; + const char *title, *url; rq = ws_request_new("getHeadlines"); ws_request_add_att_int(rq, "feed_id", feed->id); @@ -232,12 +233,13 @@ int ws_update_headlines(struct feed *feed) h = feed_get_headline(feed, hid); if (!h) { - h = malloc(sizeof(struct headline)); - h->id = hid; - h->excerpt = NULL; - h->content = NULL; - h->title = NULL; - h->url = NULL; + j = json_object_object_get(jheadline, "title"); + title = json_object_get_string(j); + + j = json_object_object_get(jheadline, "link"); + url = json_object_get_string(j); + + h = headline_new(hid, url, title); tmp = headlines_add(feed->headlines, h); if (feed->headlines) @@ -245,16 +247,6 @@ int ws_update_headlines(struct feed *feed) feed->headlines = tmp; } - if (!h->title) { - j = json_object_object_get(jheadline, "title"); - h->title = 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); }