ggiParseMode(3) Parse and print formatted strings specifying modes

Other Alias

ggiPrintMode, ggiSPrintMode, ggiFPrintMode


#include <ggi/ggi.h>
int ggiParseMode(const char *s, ggi_mode *m);
#define ggiPrintMode(m) ggiFPrintMode(stdout,(m))
int ggiSPrintMode(char *s, const ggi_mode *m);
int ggiFPrintMode(FILE *s, const ggi_mode *m);


ggiParseMode parses a string into a ggi_mode(3).

The ggi*PrintMode functions print all the members of ggi_mode(3) in a human-readable form. ggiSPrintMode outputs to a preallocated string buffer, ggiFPrintMode outputs to a stdio FILE, and ggiPrintMode outputs to standard output. These functions correspond to sprintf(3), fprintf(3) and printf(3) respectively.

The format of the string used by these functions is exactly the same as the one used in the GGI_DEFMODE environment variable described in libggi(7).

The string returned by both ggiSPrintMode and ggiFPrintMode does not contain a trailing newline.


ggiParseMode returns:
on success, i.e. the string was correct. However, errors involving GT_*, position information, or mismatched brackets do not make it fail; these errors are simply ignored.

if there is text that can not be parsed. This text is printed to stderr. All parameters parsed so far are written into m.

So m contains all parameters that have been successfully parsed. For most applications there will be no need for testing ggiParseMode for failure.