summaryrefslogtreecommitdiff
path: root/gio/glocalfileinfo.c
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2023-03-07 15:33:59 +0000
committerOndrej Holy <oholy@redhat.com>2023-03-07 15:33:59 +0000
commit1e4a8d3271af7e42bdbc8912683074c8d1d2eef8 (patch)
tree8cf48efc0a3d29de4f6dff76831ceb9e6ac34951 /gio/glocalfileinfo.c
parentff2fad77efd3a254d1b045b6e7c415c54d58ca60 (diff)
parent303d79989cfd2c4ee265380d3f0ec3731f6a63e2 (diff)
downloadglib-1e4a8d3271af7e42bdbc8912683074c8d1d2eef8.tar.gz
Merge branch '2934-false-null-file-attributes' into 'main'
glocalfile: Set various file attributes if their value is FALSE Closes #2934 See merge request GNOME/glib!3313
Diffstat (limited to 'gio/glocalfileinfo.c')
-rw-r--r--gio/glocalfileinfo.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/gio/glocalfileinfo.c b/gio/glocalfileinfo.c
index d02606ff8..bccad04b9 100644
--- a/gio/glocalfileinfo.c
+++ b/gio/glocalfileinfo.c
@@ -2051,17 +2051,18 @@ _g_local_file_info_get (const char *basename,
basename != NULL && basename[strlen (basename) - 1] == '~' &&
(stat_ok && S_ISREG (_g_stat_mode (&statbuf))));
#else
- if (statbuf.attributes & FILE_ATTRIBUTE_HIDDEN)
- g_file_info_set_is_hidden (info, TRUE);
+ _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_STANDARD_IS_BACKUP, FALSE);
+
+ g_file_info_set_is_hidden (info, (statbuf.attributes & FILE_ATTRIBUTE_HIDDEN));
- if (statbuf.attributes & FILE_ATTRIBUTE_ARCHIVE)
- _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_DOS_IS_ARCHIVE, TRUE);
+ _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_DOS_IS_ARCHIVE,
+ (statbuf.attributes & FILE_ATTRIBUTE_ARCHIVE));
- if (statbuf.attributes & FILE_ATTRIBUTE_SYSTEM)
- _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_DOS_IS_SYSTEM, TRUE);
+ _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_DOS_IS_SYSTEM,
+ (statbuf.attributes & FILE_ATTRIBUTE_SYSTEM));
- if (statbuf.reparse_tag == IO_REPARSE_TAG_MOUNT_POINT)
- _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_DOS_IS_MOUNTPOINT, TRUE);
+ _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_DOS_IS_MOUNTPOINT,
+ (statbuf.reparse_tag == IO_REPARSE_TAG_MOUNT_POINT));
if (statbuf.reparse_tag != 0)
_g_file_info_set_attribute_uint32_by_id (info, G_FILE_ATTRIBUTE_ID_DOS_REPARSE_POINT_TAG, statbuf.reparse_tag);
@@ -2182,9 +2183,9 @@ _g_local_file_info_get (const char *basename,
}
if (stat_ok && parent_info && parent_info->device != 0 &&
- _g_file_attribute_matcher_matches_id (attribute_matcher, G_FILE_ATTRIBUTE_ID_UNIX_IS_MOUNTPOINT) &&
- (_g_stat_dev (&statbuf) != parent_info->device || _g_stat_ino (&statbuf) == parent_info->inode))
- _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_UNIX_IS_MOUNTPOINT, TRUE);
+ _g_file_attribute_matcher_matches_id (attribute_matcher, G_FILE_ATTRIBUTE_ID_UNIX_IS_MOUNTPOINT))
+ _g_file_info_set_attribute_boolean_by_id (info, G_FILE_ATTRIBUTE_ID_UNIX_IS_MOUNTPOINT,
+ (_g_stat_dev (&statbuf) != parent_info->device || _g_stat_ino (&statbuf) == parent_info->inode));
if (stat_ok)
get_access_rights (attribute_matcher, info, path, &statbuf, parent_info);