### Method

# GLib KeyFile load_from_dirs

since: 2.14

#### Declaration [src]

    gboolean
    g_key_file_load_from_dirs (
      GKeyFile* key_file,
      const gchar* file,
      const gchar** search_dirs,
      gchar** full_path,
      GKeyFileFlags flags,
      GError** error
    )

#### Description [src]

Looks for a key file named `file` in the paths specified in `search_dirs`, loads the file into `key_file` and returns the file’s full path in `full_path`.

`search_dirs` are checked in the order listed in the array, with the highest priority directory listed first. Within each directory, `file` is looked for. If it’s not found, `-` characters in `file` are progressively replaced with directory separators to search subdirectories of the search directory. If the file has not been found after all `-` characters have been replaced, the next search directory in `search_dirs` is checked.

If the file could not be found in any of the `search_dirs`, `G_KEY_FILE_ERROR_NOT_FOUND` is returned. If the file is found but the OS returns an error when opening or reading the file, a `GFileError` is returned. If there is a problem parsing the file, a `GKeyFileError` is returned.

Available since: 2.14

#### Parameters

`file`

  Type: `const gchar*`

  A relative path to a filename to open and parse.

  The data is owned by the caller of the method.
  The value is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows.

`search_dirs`

  Type: An array of `filename`

  `NULL`-terminated array of directories to search.

  The array must be `NULL`-terminated.
  The data is owned by the caller of the method.
  Each element is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows.

`full_path`

  Type: `gchar**`

  Return location for a string containing the full path of the file, or `NULL` to ignore.

  The argument will be set by the function.
  The argument can be `NULL`.
  The caller of the method takes ownership of the returned data, and is responsible for freeing it.
  The value is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows.

`flags`

  Type: `GKeyFileFlags`

  Flags from `GKeyFileFlags`.

`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: `gboolean`

True if a key file could be loaded, false otherwise.