Function

GLibUriresolve_relative

since: 2.66

Declaration

gchar*
g_uri_resolve_relative (
  const gchar* base_uri_string,
  const gchar* uri_ref,
  GUriFlags flags,
  GError** error
)

Description

Parses uri_ref according to flags and, if it is a relative URI, resolves it relative to base_uri_string. If the result is not a valid absolute URI, it will be discarded, and an error returned.

(If base_uri_string is NULL, this just returns uri_ref, or NULL if uri_ref is invalid or not absolute.)

Available since: 2.66

Parameters

base_uri_string

Type: const gchar*

A string representing a base URI.

The argument can be NULL.
The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
uri_ref

Type: const gchar*

A string representing a relative or absolute URI.

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

Type: GUriFlags

Flags describing how to parse uri_ref.

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 left initialized to NULL by the function 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: gchar*

The resolved URI string, or NULL on error.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.