From 65310bf81f42e882282913ceb167197a8812d9c0 Mon Sep 17 00:00:00 2001 From: Packit Bot Date: May 06 2021 14:18:59 +0000 Subject: Apply patch 0001-glocalfileoutputstream-Factor-out-a-flag-check.patch patch_name: 0001-glocalfileoutputstream-Factor-out-a-flag-check.patch present_in_specfile: true location_in_specfile: 29 --- diff --git a/gio/glocalfileoutputstream.c b/gio/glocalfileoutputstream.c index 57d2d5d..6a70b2a 100644 --- a/gio/glocalfileoutputstream.c +++ b/gio/glocalfileoutputstream.c @@ -751,6 +751,7 @@ handle_overwrite_open (const char *filename, int res; int mode; int errsv; + gboolean replace_destination_set = (flags & G_FILE_CREATE_REPLACE_DESTINATION); mode = mode_from_flags_or_info (flags, reference_info); @@ -857,8 +858,8 @@ handle_overwrite_open (const char *filename, * The second strategy consist simply in copying the old file * to a backup file and rewrite the contents of the file. */ - - if ((flags & G_FILE_CREATE_REPLACE_DESTINATION) || + + if (replace_destination_set || (!(original_stat.st_nlink > 1) && !is_symlink)) { char *dirname, *tmp_filename; @@ -877,7 +878,7 @@ handle_overwrite_open (const char *filename, /* try to keep permissions (unless replacing) */ - if ( ! (flags & G_FILE_CREATE_REPLACE_DESTINATION) && + if (!replace_destination_set && ( #ifdef HAVE_FCHOWN fchown (tmpfd, original_stat.st_uid, original_stat.st_gid) == -1 || @@ -1016,7 +1017,7 @@ handle_overwrite_open (const char *filename, } } - if (flags & G_FILE_CREATE_REPLACE_DESTINATION) + if (replace_destination_set) { g_close (fd, NULL);