static void atom_entry_categories_delete (AtomEntry *);
AtomEntry *
-atom_entry_new (char *title, AtomPerson *author)
+atom_entry_new (char *id, char *title, AtomPerson *author)
{
AtomEntry *entry;
entry = g_slice_new (AtomEntry);
entry->doc = NULL;
- entry->id = NULL;
+ entry->id = atom_id_new (id);
entry->title = g_strdup (title);
entry->authors = NULL;
entry->categories = NULL;
else
xmlFree (content);
}
+ if (entry->id == NULL || entry->title == NULL || entry->authors == NULL)
+ {
+ atom_entry_delete (entry);
+ return NULL;
+ }
return entry;
}
void
atom_entry_id_set (AtomEntry *entry, AtomID *id)
{
+ if (id == NULL)
+ return;
if (entry->id)
atom_id_delete (entry->id);
entry->id = id;
void
atom_entry_title_set (AtomEntry *entry, char *title)
{
+ if (title == NULL)
+ return;
if (entry->title)
g_free (title);
entry->title = g_strdup (title);