X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=atom%2Fentry.c;h=99a4172d6952061bcebe1ac29cd12145446216f9;hb=a5b5bb13b3d800151d6870c1475ef9d37cfcc1a6;hp=99ab43987354d86d0e11cc4fd9fc69fe117ca2a4;hpb=032449048eaddbee3f02324d33979ba0f6aa2719;p=cascardo%2Fatompub.git diff --git a/atom/entry.c b/atom/entry.c index 99ab439..99a4172 100644 --- a/atom/entry.c +++ b/atom/entry.c @@ -26,7 +26,7 @@ struct _atom_entry { xmlDocPtr doc; - char *id; + AtomID *id; char *title; GPtrArray *authors; char *summary; @@ -75,15 +75,15 @@ atom_entry_new_data_len (char *data, size_t len) char * content; content = xmlNodeGetContent (child->xmlChildrenNode); if (!xmlStrcmp (child->name, "id")) - entry->id = content; + entry->id = atom_id_new (content); else if (!xmlStrcmp (child->name, "title")) - entry->title = content; + entry->title = g_strdup (content); else if (!xmlStrcmp (child->name, "summary")) - entry->summary = content; + entry->summary = g_strdup (content); 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)); else - xmlFree (content); + xmlFree (content); } return entry; } @@ -94,7 +94,7 @@ atom_entry_delete (AtomEntry *entry) if (entry->doc) xmlFreeDoc (entry->doc); if (entry->id) - g_free (entry->id); + atom_id_delete (entry->id); if (entry->title) g_free (entry->title); if (entry->authors) @@ -104,18 +104,18 @@ atom_entry_delete (AtomEntry *entry) g_slice_free (AtomEntry, entry); } -char * +AtomID * atom_entry_id (AtomEntry *entry) { return entry->id; } void -atom_entry_id_set (AtomEntry *entry, char *id) +atom_entry_id_set (AtomEntry *entry, AtomID *id) { if (entry->id) - g_free (entry->id); - entry->id = g_strdup (id); + atom_id_delete (entry->id); + entry->id = id; } char * @@ -211,7 +211,7 @@ atom_entry_update_xmlnode (AtomEntry *entry) child = next; } } - id = xmlNewTextChild (root, NULL, "id", entry->id); + id = xmlNewTextChild (root, NULL, "id", atom_id_string (entry->id)); title = xmlNewTextChild (root, NULL, "title", entry->title); if (entry->summary) summary = xmlNewTextChild (root, NULL, "summary", entry->summary);