Method

GioResourcelookup_data

since: 2.32

Declaration [src]

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

Description [src]

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 read-only data section in the program binary. For compressed files, memory is allocated on the heap and the data is automatically uncompressed.

lookup_flags controls the behaviour of the lookup.

This can return error G_RESOURCE_ERROR_NOT_FOUND if path was not found in resource, or G_RESOURCE_ERROR_INTERNAL if decompression of a compressed resource failed.

Available since: 2.32

Parameters

path

Type: const char*

A path name inside the resource.

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

Type: GResourceLookupFlags

A GResourceLookupFlags.

error

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 be 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.

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