Use AtomID instead of string consistently in entry
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Wed, 10 Dec 2008 16:59:19 +0000 (14:59 -0200)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Wed, 10 Dec 2008 16:59:19 +0000 (14:59 -0200)
Some code sections in the entry code used AtomID and other sections used
a string to the entry id. Use only AtomID.

atom/entry.c
include/atompub/entry.h

index c7c2b0a..99a4172 100644 (file)
@@ -26,7 +26,7 @@
 struct _atom_entry
 {
   xmlDocPtr doc;
-  char *id;
+  AtomID *id;
   char *title;
   GPtrArray *authors;
   char *summary;
@@ -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);
index 70557ef..51de991 100644 (file)
 
 #include <sys/types.h>
 #include <atompub/person.h>
+#include <atompub/id.h>
 
 typedef struct _atom_entry AtomEntry;
 
 AtomEntry * atom_entry_new (char *, AtomPerson *);
 AtomEntry * atom_entry_new_data_len (char *, size_t);
 void atom_entry_delete (AtomEntry *);
-char * atom_entry_id (AtomEntry *);
-void atom_entry_id_set (AtomEntry *, char *);
+AtomID * atom_entry_id (AtomEntry *);
+void atom_entry_id_set (AtomEntry *, AtomID *);
 char * atom_entry_title (AtomEntry *);
 void atom_entry_title_set (AtomEntry *, char *);
 void atom_entry_authors (AtomEntry *, AtomPerson ***, size_t *);