From cd8a0ac41f293221d931cab6f1ea39332f7448d8 Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Wed, 9 Mar 2005 11:22:09 +0000 Subject: [PATCH] avoid unnecessary filename conversions. 2005-03-09 Sven Neumann * glib/gfileutils.c (g_file_replace): avoid unnecessary filename conversions. --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-12 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ glib/gfileutils.c | 14 +++++--------- 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index a358563da..5d8124495 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-03-09 Sven Neumann + + * glib/gfileutils.c (g_file_replace): avoid unnecessary filename + conversions. + 2005-03-09 Tor Lillqvist * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index a358563da..5d8124495 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-03-09 Sven Neumann + + * glib/gfileutils.c (g_file_replace): avoid unnecessary filename + conversions. + 2005-03-09 Tor Lillqvist * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir, diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index a358563da..5d8124495 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,8 @@ +2005-03-09 Sven Neumann + + * glib/gfileutils.c (g_file_replace): avoid unnecessary filename + conversions. + 2005-03-09 Tor Lillqvist * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index a358563da..5d8124495 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2005-03-09 Sven Neumann + + * glib/gfileutils.c (g_file_replace): avoid unnecessary filename + conversions. + 2005-03-09 Tor Lillqvist * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir, diff --git a/glib/gfileutils.c b/glib/gfileutils.c index 4b951afec..6deac68c2 100644 --- a/glib/gfileutils.c +++ b/glib/gfileutils.c @@ -984,9 +984,7 @@ g_file_replace (const gchar *filename, gssize length, GError **error) { - char *tmp_filename = NULL; - char *display_filename = NULL; - char *display_tmpname = NULL; + gchar *tmp_filename; gboolean retval; GError *rename_error = NULL; @@ -1005,9 +1003,6 @@ g_file_replace (const gchar *filename, goto out; } - display_tmpname = g_filename_display_name (tmp_filename); - display_filename = g_filename_display_name (filename); - if (!rename_file (tmp_filename, filename, &rename_error)) { #ifndef G_OS_WIN32 @@ -1035,13 +1030,16 @@ g_file_replace (const gchar *filename, if (g_unlink (filename) == -1) { + gchar *display_filename = g_filename_display_name (filename); + g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno), _("Existing file '%s' could not be removed: g_unlink() failed: %s"), display_filename, g_strerror (errno)); - + + g_free (display_filename); g_unlink (tmp_filename); retval = FALSE; goto out; @@ -1060,8 +1058,6 @@ g_file_replace (const gchar *filename, retval = TRUE; out: - g_free (display_tmpname); - g_free (display_filename); g_free (tmp_filename); return retval; }