diff --git a/ChangeLog b/ChangeLog index 30ceb089c..bbd85e801 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Mar 11 23:51:12 2005 Soeren Sandmann <sandmann@redhat.com> + + * glib/gfileutils.c (write_to_temp_file): Don't try and generate + a dotfile from the name -- it doesn't work with absolute + paths. Also make documentation indicate that symlinks will be + overwritten. Both pointed out by Alexis S. L. Carvalho. + 2005-03-11 Matthias Clasen <mclasen@redhat.com> * m4macros/glib-gettext.m4: Avoid stupid compiler complaints diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 30ceb089c..bbd85e801 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +Fri Mar 11 23:51:12 2005 Soeren Sandmann <sandmann@redhat.com> + + * glib/gfileutils.c (write_to_temp_file): Don't try and generate + a dotfile from the name -- it doesn't work with absolute + paths. Also make documentation indicate that symlinks will be + overwritten. Both pointed out by Alexis S. L. Carvalho. + 2005-03-11 Matthias Clasen <mclasen@redhat.com> * m4macros/glib-gettext.m4: Avoid stupid compiler complaints diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 30ceb089c..bbd85e801 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,10 @@ +Fri Mar 11 23:51:12 2005 Soeren Sandmann <sandmann@redhat.com> + + * glib/gfileutils.c (write_to_temp_file): Don't try and generate + a dotfile from the name -- it doesn't work with absolute + paths. Also make documentation indicate that symlinks will be + overwritten. Both pointed out by Alexis S. L. Carvalho. + 2005-03-11 Matthias Clasen <mclasen@redhat.com> * m4macros/glib-gettext.m4: Avoid stupid compiler complaints diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 30ceb089c..bbd85e801 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +Fri Mar 11 23:51:12 2005 Soeren Sandmann <sandmann@redhat.com> + + * glib/gfileutils.c (write_to_temp_file): Don't try and generate + a dotfile from the name -- it doesn't work with absolute + paths. Also make documentation indicate that symlinks will be + overwritten. Both pointed out by Alexis S. L. Carvalho. + 2005-03-11 Matthias Clasen <mclasen@redhat.com> * m4macros/glib-gettext.m4: Avoid stupid compiler complaints diff --git a/glib/gfileutils.c b/glib/gfileutils.c index 415d6fed0..f9f675617 100644 --- a/glib/gfileutils.c +++ b/glib/gfileutils.c @@ -841,7 +841,7 @@ rename_file (const char *old_name, static gchar * write_to_temp_file (const gchar *contents, - gsize length, + gssize length, const gchar *template, GError **err) { @@ -854,7 +854,7 @@ write_to_temp_file (const gchar *contents, retval = NULL; - tmp_name = g_strdup_printf (".%s.XXXXXX", template); + tmp_name = g_strdup_printf ("%s.XXXXXX", template); errno = 0; fd = g_mkstemp (tmp_name); @@ -954,7 +954,8 @@ write_to_temp_file (const gchar *contents, * <listitem> * On Unix, if @filename already exists hard links to @filename will break. * Also since the file is recreated, existing permissions, access control - * lists, metadata etc. may be lost. + * lists, metadata etc. may be lost. If @filename is a symbolic link, + * the link itself will be replaced, not the linked file. * </listitem> * <listitem> * On Windows renaming a file will not remove an existing file with the @@ -989,7 +990,8 @@ g_file_replace (const gchar *filename, g_return_val_if_fail (filename != NULL, FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); g_return_val_if_fail (contents != NULL || length == 0, FALSE); - + g_return_val_if_fail (length >= -1, FALSE); + if (length == -1) length = strlen (contents);