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);
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)
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);
}