[epiphany] ephy-bookmarks-export: use g_file_set_contents() when saving to RDF
- From: Claudio Saavedra <csaavedra src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] ephy-bookmarks-export: use g_file_set_contents() when saving to RDF
- Date: Sun, 27 Jan 2013 16:04:11 +0000 (UTC)
commit 213b032a24ac9286af1f5ab3a4087d64eef12f52
Author: Claudio Saavedra <csaavedra igalia com>
Date: Wed Jan 23 13:54:47 2013 +0200
ephy-bookmarks-export: use g_file_set_contents() when saving to RDF
https://bugzilla.gnome.org/show_bug.cgi?id=691794
src/bookmarks/ephy-bookmarks-export.c | 30 +++++++++++++++---------------
1 files changed, 15 insertions(+), 15 deletions(-)
---
diff --git a/src/bookmarks/ephy-bookmarks-export.c b/src/bookmarks/ephy-bookmarks-export.c
index 1c40dca..adeea8a 100644
--- a/src/bookmarks/ephy-bookmarks-export.c
+++ b/src/bookmarks/ephy-bookmarks-export.c
@@ -390,25 +390,24 @@ ephy_bookmarks_export_rdf (EphyBookmarks *bookmarks,
const char *file_path)
{
xmlTextWriterPtr writer;
- GFile *file, *tmp_file;
- char *tmp_file_path;
+ xmlBufferPtr buf;
+ GFile *file;
int ret;
LOG ("Exporting as RDF to %s", file_path);
START_PROFILER ("Exporting as RDF")
- tmp_file_path = g_strconcat (file_path, ".tmp", NULL);
- file = g_file_new_for_path (file_path);
- tmp_file = g_file_new_for_path (tmp_file_path);
-
+ buf = xmlBufferCreate ();
+ if (buf == NULL)
+ {
+ return;
+ }
/* FIXME: do we want to turn on compression here? */
- writer = xmlNewTextWriterFilename (tmp_file_path, 0);
+ writer = xmlNewTextWriterMemory (buf, 0);
if (writer == NULL)
{
- g_object_unref (file);
- g_object_unref (tmp_file);
- g_free (tmp_file);
+ xmlBufferFree (buf);
return;
}
@@ -418,23 +417,24 @@ ephy_bookmarks_export_rdf (EphyBookmarks *bookmarks,
ret = xmlTextWriterSetIndentString (writer, (xmlChar *) " ");
if (ret < 0) goto out;
+ file = g_file_new_for_path (file_path);
ret = write_rdf (bookmarks, file, writer);
+ g_object_unref (file);
if (ret < 0) goto out;
xmlFreeTextWriter (writer);
out:
if (ret >= 0)
{
- if (ephy_file_switch_temp_file (file, tmp_file) == FALSE)
+ if (g_file_set_contents (file_path,
+ (const char *)buf->content,
+ buf->use,
+ NULL) == FALSE)
{
ret = -1;
}
}
- g_object_unref (file);
- g_object_unref (tmp_file);
- g_free (tmp_file_path);
-
STOP_PROFILER ("Exporting as RDF")
LOG ("Exporting as RDF %s.", ret >= 0 ? "succeeded" : "FAILED");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]