diff options
author | Matthias Clasen <mclasen@redhat.com> | 2024-09-12 10:28:19 -0400 |
---|---|---|
committer | Philip Withnall <pwithnall@gnome.org> | 2024-10-01 16:35:54 +0100 |
commit | ab51ed0521d16227a0496c972ddc0bbcd5c9cd74 (patch) | |
tree | 86a9c6523644e0bc6a5bf1be4e11a0abd1131b55 | |
parent | 65ad41d8a473b4d47f1e470013caff93d50791d8 (diff) |
gio: Implement query_exists for resources
This avoids allocations for this frequently used method.
-rw-r--r-- | gio/gresourcefile.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gio/gresourcefile.c b/gio/gresourcefile.c index 5b772d94b..da1f368e5 100644 --- a/gio/gresourcefile.c +++ b/gio/gresourcefile.c @@ -657,6 +657,15 @@ g_resource_file_set_display_name (GFile *file, return NULL; } +static gboolean +g_resource_file_query_exists (GFile *file, + GCancellable *cancellable) +{ + GResourceFile *resource = G_RESOURCE_FILE (file); + + return g_resources_get_info (resource->path, 0, NULL, NULL, NULL); +} + static void g_resource_file_file_iface_init (GFileIface *iface) { @@ -683,6 +692,7 @@ g_resource_file_file_iface_init (GFileIface *iface) iface->query_writable_namespaces = g_resource_file_query_writable_namespaces; iface->read_fn = g_resource_file_read; iface->monitor_file = g_resource_file_monitor_file; + iface->query_exists = g_resource_file_query_exists; iface->supports_thread_contexts = TRUE; } |