xo_set_program, libxo, xo_parse_args(3) | detect, parse, and remove arguments for libxo |
xo_parse_args, libxo, xo_set_program(3) | detect, parse, and remove arguments for libxo |
LIBXO(3) | MidnightBSD Library Functions Manual | LIBXO(3) |
xo_parse_args
,
xo_set_program
— detect,
parse, and remove arguments for libxo
Text, XML, JSON, and HTML Output Emission Library (libxo, -lxo)
#include
<libxo/xo.h>
int
xo_parse_args
(int
argc, char
**argv);
int
xo_set_program
(const
char *name);
The
xo_parse_args
()
function is used to process command-line arguments.
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.
libxo
uses command line options to trigger
rendering behavior. The following options are recognised:
Options is a comma-separated list of tokens that correspond to output styles, flags, or features:
dtrt
html
indent=xx
info
json
keys
log-gettext
log-syslog
no-locale
no-retain
no-top
not-first
pretty
retain
text
units
warn
warn-xml
xml
xpath
The “brief-options” are single letter commands, designed for those with too little patience to use real tokens. No comma separator is used.
Token Action |
H Enable HTML output (XO_STYLE_HTML) |
I Enable info output (XOF_INFO) |
i<num> Indent by <number> |
J Enable JSON output (XO_STYLE_JSON) |
P Enable pretty-printed output (XOF_PRETTY) |
T Enable text output (XO_STYLE_TEXT) |
W Enable warnings (XOF_WARN) |
X Enable XML output (XO_STYLE_XML) |
x Enable XPath data (XOF_XPATH) |
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.
The libxo
library first appeared in
FreeBSD 11.0.
libxo
was written by Phil
Shafer
<phil@freebsd.org>.
December 4, 2014 | midnightbsd-3.1 |