diff options
author | Ondrej Holy <oholy@redhat.com> | 2023-03-07 15:33:59 +0000 |
---|---|---|
committer | Ondrej Holy <oholy@redhat.com> | 2023-03-07 15:33:59 +0000 |
commit | 1e4a8d3271af7e42bdbc8912683074c8d1d2eef8 (patch) | |
tree | 8cf48efc0a3d29de4f6dff76831ceb9e6ac34951 /gio/glocalfileinfo.c | |
parent | ff2fad77efd3a254d1b045b6e7c415c54d58ca60 (diff) | |
parent | 303d79989cfd2c4ee265380d3f0ec3731f6a63e2 (diff) | |
download | glib-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.c | 23 |
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); |