since: 2.32


g_resource_lookup_data (
  GResource* resource,
  const char* path,
  GResourceLookupFlags lookup_flags,
  GError** error


Looks for a file at the specified path in the resource and returns a GBytes that lets you directly access the data in memory.

The data is always followed by a zero byte, so you can safely use the data as a C string. However, that byte is not included in the size of the GBytes.

For uncompressed resource files this is a pointer directly into the resource bundle, which is typically in some readonly data section in the program binary. For compressed files we allocate memory on the heap and automatically uncompress the data.

lookup_flags controls the behaviour of the lookup.

Available since: 2.32



Type: const char*

A pathname inside the resource.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.

Type: GResourceLookupFlags

A GResourceLookupFlags.


Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: GBytes

GBytes or NULL on error. Free the returned object with g_bytes_unref()

The caller of the method takes ownership of the data, and is responsible for freeing it.