xo_parse_args - Man Page
detect, parse, and remove arguments for libxo
Library
Text, XML, JSON, and HTML Output Emission Library (libxo, -lxo)
Synopsis
#include <libxo/xo.h
>
int
xo_parse_args
(int argc, char **argv);
int
xo_set_program
(const char *name);
Description
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.
See Also
xo_emit(3), xo_options(7,) libxo(3)
History
The libxo library first appeared in FreeBSD 11.0.
Authors
libxo was written by Phil Shafer <phil@freebsd.org>.
Additional Documentation
FreeBSD uses libxo version 1.6.0. Complete documentation can be found on github:
https://juniper.github.io/libxo/1.6.0/html/index.html
libxo lives on github as:
https://github.com/Juniper/libxo
The latest release of libxo is available at:
https://github.com/Juniper/libxo/releases
History
The libxo library was added in FreeBSD 11.0.
Author
Phil Shafer