entry->summary = g_strdup (summary);
}
-char *
-atom_entry_string (AtomEntry *entry)
-{
- char *buffer;
- int size;
- xmlDocDumpMemory (entry->doc, &buffer, &size);
- return buffer;
-}
-
-size_t
-atom_entry_len (AtomEntry *entry)
+void
+atom_entry_string (AtomEntry *entry, char **buffer, size_t *len)
{
- char *buffer;
- int size;
- xmlDocDumpMemory (entry->doc, &buffer, &size);
- xmlFree (buffer);
- return size;
+ xmlDocDumpMemory (entry->doc, buffer, len);
}
iri_delete (iri);
if (atom)
{
+ char * str;
+ size_t len;
char *header = "Content-type: application/atom+xml\n\n";
write (1, header, strlen (header));
- write (1, atom_entry_string (atom), atom_entry_len (atom));
+ atom_entry_string (atom, &str, &len);
+ write (1, str, len);
+ g_free (str);
atom_entry_delete (atom);
}
else if ((error = atom_error_get (ctx)) != NULL)
void atom_entry_person_set (AtomEntry *, AtomPerson *);
char * atom_entry_summary (AtomEntry *);
void atom_entry_summary_set (AtomEntry *, char *);
-char * atom_entry_string (AtomEntry *);
-size_t atom_entry_len (AtomEntry *);
+void atom_entry_string (AtomEntry *, char **, size_t *);
#endif