If backend cannot enumerate entries, return 0 entries with NULL array
[cascardo/atompub.git] / src / backend.c
index 30ba7a7..31c8ecd 100644 (file)
@@ -81,6 +81,10 @@ atom_backend_enumerate_entries (AtomCtx *ctx, AtomEntry *** entries, size_t *len
       backend->enumerate_entries (ctx, entries, len);
       return;
     }
+  if (entries)
+    *entries = NULL;
+  if (len)
+    *len = 0;
 }
 
 AtomFeed *
@@ -105,6 +109,8 @@ atom_retrieve_resource (AtomCtx *ctx, IRI *iri)
     {
       AtomFeed *feed;
       feed = atom_retrieve_feed (ctx);
+      if (feed == NULL)
+        return NULL;
       res = atom_resource_new_from_feed (feed);
       atom_feed_delete (feed);
     }
@@ -112,6 +118,8 @@ atom_retrieve_resource (AtomCtx *ctx, IRI *iri)
     {
       AtomEntry *entry;
       entry = atom_retrieve_entry (ctx, iri);
+      if (entry == NULL)
+        return NULL;
       res = atom_resource_new_from_entry (entry);
       atom_entry_delete (entry);
     }