From ae014b80ad5df77250ab19d502245759661c3e7e Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sat, 9 Aug 2008 18:41:38 -0300 Subject: [PATCH] Modify interface to get string from entry --- atom/entry.c | 19 +++---------------- frontend/cgi/cgi.c | 6 +++++- include/atompub/entry.h | 3 +-- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/atom/entry.c b/atom/entry.c index d366500..ed59683 100644 --- a/atom/entry.c +++ b/atom/entry.c @@ -157,21 +157,8 @@ atom_entry_summary_set (AtomEntry *entry, char *summary) 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); } diff --git a/frontend/cgi/cgi.c b/frontend/cgi/cgi.c index 7e80b7d..5497941 100644 --- a/frontend/cgi/cgi.c +++ b/frontend/cgi/cgi.c @@ -45,9 +45,13 @@ cgi_serve_request (AtomCtx *ctx) 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) diff --git a/include/atompub/entry.h b/include/atompub/entry.h index d577894..e531e96 100644 --- a/include/atompub/entry.h +++ b/include/atompub/entry.h @@ -36,7 +36,6 @@ AtomPerson * atom_entry_person (AtomEntry *); 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 -- 2.20.1