glocalfileinfo returns GFileInfo for anything inside a non-readable directory
g_file_query_info
returns NULL
if a resource doesn't exist. However, in the case of local files, if a dir component of the path is not readable then gio will return made-up values:
$ mkdir test
$ gio info test/file
gio: file:///mnt/store/test/file: Error when getting information for file ?/mnt/store/test/file?: No such file or directory
$ chmod 000 test
$ gio info test/file
display name: file
edit name: file
name: file
uri: file:///mnt/store/test/file
local path: /mnt/store/test/file
unix mount: /dev/sda5 /mnt/store ext4 rw,relatime,x-gvfs-show,x-gvfs-name=Store
attributes:
standard::is-hidden: FALSE
standard::is-backup: FALSE
standard::is-symlink: FALSE
standard::name: file
standard::display-name: file
standard::edit-name: file
standard::copy-name: file
standard::icon: application-octet-stream, application-x-generic, application-octet-stream-symbolic, application-x-generic-symbolic
standard::content-type: application/octet-stream
standard::fast-content-type: application/octet-stream
standard::symbolic-icon: application-octet-stream-symbolic, application-x-generic-symbolic, application-octet-stream, application-x-generic
Here's the outcome with stat
:
$ mkdir test
$ stat test/file
stat: cannot statx 'test/file': No such file or directory
$ chmod 000 test
$ stat test/file
stat: cannot statx 'test/file': Permission denied
Edited by Luca Bacci