xo_parse_args(3)

xo_parse_args3

Detect, parse, and remove arguments for libxo

Usage

#include <libxo/xo.h>

int

xo_parse_args(int argc, char **argv);

int

xo_set_program(const char *name);

Library

library “libxo”

Overview

The xo_parse_args() function is used to process command-line arguments, which are described in xo_options(7). libxo specific options are processed and removed from the argument list so the calling application does not need to process them. If successful, a new value for argc is returned. On failure, a message it emitted and -1 is returned.

    argc = xo_parse_args(argc, argv);
    if (argc < 0)
        exit(EXIT_FAILURE);

Following the call to xo_parse_args(), the application can process the remaining arguments in a normal manner.

The xo_set_program() function sets name of the program as reported by functions like xo_failure(), xo_warn(), xo_err(), etc. The program name is initialized by xo_parse_args(), but subsequent calls to xo_set_program() can override this value.

Note that the value is not copied, so the memory passed to xo_set_program() (and xo_parse_args()) must be maintained by the caller.

Releases

25 releases since FreeBSD 11.0-RELEASE; the text changed 2 times.

  1. 11.0–11.1
  2. 11.2–13.5
  3. 14.0–16.0

History

The libxo library first appeared in FreeBSD 11.0.

Authors

libxo was written by Phil Shafer ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.