When parsing the entry, the strings were not copied and the ID was a
string and not an ID object.
char * content;
content = xmlNodeGetContent (child->xmlChildrenNode);
if (!xmlStrcmp (child->name, "id"))
char * content;
content = xmlNodeGetContent (child->xmlChildrenNode);
if (!xmlStrcmp (child->name, "id"))
+ entry->id = atom_id_new (content);
else if (!xmlStrcmp (child->name, "title"))
else if (!xmlStrcmp (child->name, "title"))
- entry->title = content;
+ entry->title = g_strdup (content);
else if (!xmlStrcmp (child->name, "summary"))
else if (!xmlStrcmp (child->name, "summary"))
- entry->summary = content;
+ entry->summary = g_strdup (content);
else if (!xmlStrcmp (child->name, "author"))
else if (!xmlStrcmp (child->name, "author"))
- atom_entry_author_add (entry, atom_person_new_from_xmlnode (child));
+ atom_entry_author_add (entry, atom_person_new_from_xmlnode (child));
if (entry->doc)
xmlFreeDoc (entry->doc);
if (entry->id)
if (entry->doc)
xmlFreeDoc (entry->doc);
if (entry->id)
+ atom_id_delete (entry->id);
if (entry->title)
g_free (entry->title);
if (entry->authors)
if (entry->title)
g_free (entry->title);
if (entry->authors)