char **rreqs = NULL;
AtomEntry **rentries = NULL;
size_t rlen = 0;
+ int i;
backend = atom_backend (ctx);
if (backend && backend->enumerate_entries)
{
backend->enumerate_entries (ctx, &rreqs, &rentries, &rlen);
}
if (reqs)
- *reqs = rreqs;
+ {
+ *reqs = rreqs;
+ }
+ else
+ {
+ for (i = 0; i < rlen; i++)
+ g_free (rreqs[i]);
+ g_free (rreqs);
+ }
if (entries)
- *entries = rentries;
+ {
+ *entries = rentries;
+ }
+ else
+ {
+ for (i = 0; i < rlen; i++)
+ atom_entry_delete (rentries[i]);
+ g_free (rentries);
+ }
if (len)
*len = rlen;
}
return NULL;
feed = atom_feed_new ();
atom_feed_entry_append_array (feed, entries, len);
+ g_free (entries);
return feed;
}