+#define DATA(s) s "\n"
+ static const char head[] =
+ {
+ DATA("Usage: infocmp [options] [-A directory] [-B directory] [termname...]")
+ DATA("")
+ DATA("Options:")
+ };
+#undef DATA
+ /* length is given here so the compiler can make everything readonly */
+#define DATA(s) s
+ static const char options[][46] =
+ {
+ " -0 print single-row"
+ ," -1 print single-column"
+ ," -C use termcap-names"
+ ," -D print database locations"
+ ," -E format output as C tables"
+ ," -F compare terminfo-files"
+ ," -G format %{number} to %'char'"
+ ," -I use terminfo-names"
+ ," -K use termcap-names and BSD syntax"
+ ," -L use long names"
+ ," -R subset (see manpage)"
+ ," -T eliminate size limits (test)"
+ ," -U do not post-process entries"
+ ," -V print version"
+ ," -W wrap long strings per -w[n]"
+#if NCURSES_XNAMES
+ ," -a with -F, list commented-out caps"
+#endif
+ ," -c list common capabilities"
+ ," -d list different capabilities"
+ ," -e format output for C initializer"
+ ," -f with -1, format complex strings"
+ ," -g format %'char' to %{number}"
+ ," -i analyze initialization/reset"
+ ," -l output terminfo names"
+ ," -n list capabilities in neither"
+ ," -p ignore padding specifiers"
+ ," -Q number dump compiled description"
+ ," -q brief listing, removes headers"
+ ," -r with -C, output in termcap form"
+ ," -r with -F, resolve use-references"
+ ," -s [d|i|l|c] sort fields"
+#if NCURSES_XNAMES
+ ," -t suppress commented-out capabilities"
+#endif
+ ," -u produce source with 'use='"
+ ," -v number (verbose)"
+ ," -w number (width)"
+#if NCURSES_XNAMES
+ ," -x unknown capabilities are user-defined"
+#endif
+ };
+#undef DATA
+ const size_t last = SIZEOF(options);
+ const size_t left = (last + 1) / 2;
+ size_t n;
+
+ fputs(head, stderr);
+ for (n = 0; n < left; n++) {
+ size_t m = n + left;
+ if (m < last)
+ fprintf(stderr, "%-40.40s%s\n", options[n], options[m]);
+ else
+ fprintf(stderr, "%s\n", options[n]);
+ }
+ ExitProgram(EXIT_FAILURE);