Gio.Resource.lookup_data

### Method

# Gio Resourcelookup_data

since: 2.32

#### Declaration

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

#### Description

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

#### Parameters

`path`

  Type: `const char*`

  A pathname 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. Free the returned object with `g_bytes_unref()`

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