- fprintf(stderr, "usage: %s [-V] [-S] [-T term] capname\n", prg_name);
- ExitProgram(EXIT_FAILURE);
+#define KEEP(s) s "\n"
+ static const char msg[] =
+ {
+ KEEP("")
+ KEEP("Options:")
+ KEEP(" -S << read commands from standard input")
+ KEEP(" -T TERM use this instead of $TERM")
+ KEEP(" -V print curses-version")
+ KEEP(" -x do not try to clear scrollback")
+ KEEP("")
+ KEEP("Commands:")
+ KEEP(" clear clear the screen")
+ KEEP(" init initialize the terminal")
+ KEEP(" reset reinitialize the terminal")
+ KEEP(" capname unlike clear/init/reset, print value for capability \"capname\"")
+ };
+#undef KEEP
+ (void) fprintf(stderr, "Usage: %s [options] [command]\n", _nc_progname);
+ if (optstring != NULL) {
+ const char *s = msg;
+ while (*s != '\0') {
+ fputc(UChar(*s), stderr);
+ if (!strncmp(s, " -", 3)) {
+ if (strchr(optstring, s[3]) == NULL)
+ s = strchr(s, '\n') + 1;
+ } else if (!strncmp(s, "\n\nC", 3))
+ break;
+ ++s;
+ }
+ } else {
+ fputs(msg, stderr);
+ }
+ ExitProgram(ErrUsage);