since: 2.40


g_option_context_parse_strv (
  GOptionContext* context,
  gchar*** arguments,
  GError** error


Parses the command line arguments.

This function is similar to g_option_context_parse() except that it respects the normal memory rules when dealing with a strv instead of assuming that the passed-in array is the argv of the main function.

In particular, strings that are removed from the arguments list will be freed using g_free().

On Windows, the strings are expected to be in UTF-8. This is in contrast to g_option_context_parse() which expects them to be in the system codepage, which is how they are passed as argv to main(). See g_win32_get_command_line() for a solution.

This function is useful if you are trying to use GOptionContext with GApplication.

Available since: 2.40



Type: An array of gchar**

A pointer to the command line arguments (which must be in UTF-8 on Windows). Starting with GLib 2.62, arguments can be NULL, which matches g_option_context_parse().

The argument will be modified by the function.
The argument can be NULL.
The instance takes ownership of the data, and is responsible for freeing it.
Each element is a NUL terminated UTF-8 string.

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

TRUE if the parsing was successful, FALSE if an error occurred.