X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Finfocmp.c;h=62773d634abc1e7c2ae9acfb64f0a8e94c0d77a8;hp=3116fd4bc03dd07efca45c0bd14824787e3dd841;hb=5817afea017464ac3b89170fb205f21d99bec47c;hpb=808858ace09b9bf60f7154e33cb6572f49347101 diff --git a/progs/infocmp.c b/progs/infocmp.c index 3116fd4b..62773d63 100644 --- a/progs/infocmp.c +++ b/progs/infocmp.c @@ -42,7 +42,7 @@ #include -MODULE_ID("$Id: infocmp.c,v 1.131 2015/04/04 16:22:19 tom Exp $") +MODULE_ID("$Id: infocmp.c,v 1.136 2015/09/05 15:49:57 tom Exp $") #define L_CURL "{" #define R_CURL "}" @@ -989,7 +989,8 @@ file_comparison(int argc, char *argv[]) int i, n; memset(heads, 0, sizeof(heads)); - dump_init((char *) 0, F_LITERAL, S_TERMINFO, 0, 65535, itrace, FALSE); + dump_init((char *) 0, F_LITERAL, S_TERMINFO, 0, 65535, itrace, FALSE, + FALSE, FALSE); for (n = 0; n < argc && n < MAXCOMPARE; n++) { if (freopen(argv[n], "r", stdin) == 0) @@ -1173,15 +1174,17 @@ usage(void) { " -0 print single-row" ," -1 print single-column" - ," -K use termcap-names and BSD syntax" ," -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" - ," -D print database locations" ," -V print version" #if NCURSES_XNAMES ," -a with -F, list commented-out caps" @@ -1189,14 +1192,13 @@ usage(void) ," -c list common capabilities" ," -d list different capabilities" ," -e format output for C initializer" - ," -E format output as C tables" ," -f with -1, format complex strings" - ," -G format %{number} to %'char'" ," -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" @@ -1506,6 +1508,7 @@ main(int argc, char *argv[]) int initdump = 0; bool init_analyze = FALSE; bool suppress_untranslatable = FALSE; + int quickdump = 0; /* where is the terminfo database location going to default to? */ restdir = firstdir = 0; @@ -1527,7 +1530,7 @@ main(int argc, char *argv[]) while ((c = getopt(argc, argv, - "01A:aB:CcDdEeFfGgIiKLlnpqR:rs:TtUuVv:w:x")) != -1) { + "01A:aB:CcDdEeFfGgIiKLlnpQ:qR:rs:TtUuVv:w:x")) != -1) { switch (c) { case '0': mwidth = 65535; @@ -1628,6 +1631,10 @@ main(int argc, char *argv[]) ignorepads = TRUE; break; + case 'Q': + quickdump = optarg_to_number(); + break; + case 'q': quiet = TRUE; s_absent = "-"; @@ -1750,7 +1757,8 @@ main(int argc, char *argv[]) } /* set up for display */ - dump_init(tversion, outform, sortmode, mwidth, mheight, itrace, formatted); + dump_init(tversion, outform, sortmode, mwidth, mheight, itrace, + formatted, FALSE, quickdump); if (!filecompare) { /* grab the entries */ @@ -1836,6 +1844,8 @@ main(int argc, char *argv[]) analyze_string("rs3", reset_3string, &entries[0].tterm); analyze_string("smcup", enter_ca_mode, &entries[0].tterm); analyze_string("rmcup", exit_ca_mode, &entries[0].tterm); + analyze_string("smkx", keypad_xmit, &entries[0].tterm); + analyze_string("rmkx", keypad_local, &entries[0].tterm); #undef CUR } else { @@ -1849,8 +1859,10 @@ main(int argc, char *argv[]) "%s: about to dump %s\n", _nc_progname, tname[0]); - (void) printf("#\tReconstructed via infocmp from file: %s\n", - tfile[0]); + if (!quiet) + (void) + printf("#\tReconstructed via infocmp from file: %s\n", + tfile[0]); dump_entry(&entries[0].tterm, suppress_untranslatable, limited,