glocalfileoutputstream: Factor out a flag check

This clarifies the code a little. It introduces no functional changes.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
This commit is contained in:
Philip Withnall 2021-03-10 16:05:55 +00:00 committed by Michael Catanzaro
parent 7c3a199eb3
commit c6c55f0b58

View File

@ -751,6 +751,7 @@ handle_overwrite_open (const char *filename,
int res; int res;
int mode; int mode;
int errsv; int errsv;
gboolean replace_destination_set = (flags & G_FILE_CREATE_REPLACE_DESTINATION);
mode = mode_from_flags_or_info (flags, reference_info); 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 * The second strategy consist simply in copying the old file
* to a backup file and rewrite the contents of the 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)) (!(original_stat.st_nlink > 1) && !is_symlink))
{ {
char *dirname, *tmp_filename; char *dirname, *tmp_filename;
@ -877,7 +878,7 @@ handle_overwrite_open (const char *filename,
/* try to keep permissions (unless replacing) */ /* try to keep permissions (unless replacing) */
if ( ! (flags & G_FILE_CREATE_REPLACE_DESTINATION) && if (!replace_destination_set &&
( (
#ifdef HAVE_FCHOWN #ifdef HAVE_FCHOWN
fchown (tmpfd, original_stat.st_uid, original_stat.st_gid) == -1 || 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); g_close (fd, NULL);