X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Frailroad.c;h=3336f565953983f02ddbc44bef6e0d509d1ae52b;hp=e3558b0d77bbf95b56f5332da6e06a2afc233f99;hb=HEAD;hpb=47d2fb4537d9ad5bb14f4810561a327930ca4280 diff --git a/test/railroad.c b/test/railroad.c index e3558b0d..4d7c0700 100644 --- a/test/railroad.c +++ b/test/railroad.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2020,2022 Thomas E. Dickey * * Copyright 2000-2013,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -30,7 +30,7 @@ /* * Author: Thomas E. Dickey - 2000 * - * $Id: railroad.c,v 1.24 2020/02/02 23:34:34 tom Exp $ + * $Id: railroad.c,v 1.26 2022/12/11 00:12:13 tom Exp $ * * A simple demo of the termcap interface. */ @@ -191,7 +191,11 @@ railroad(char **args) int z; if (name == 0) +#ifdef EXP_WIN32_DRIVER + name = "ms-terminal"; +#else name = "dumb"; +#endif InitAndCatch(z = tgetent(buffer, name), onsig); if (z >= 0) { @@ -231,11 +235,44 @@ railroad(char **args) } } +static void +usage(int ok) +{ + static const char *msg[] = + { + "Usage: railroad [options]" + ,"" + ,USAGE_COMMON + }; + size_t n; + + for (n = 0; n < SIZEOF(msg); n++) + fprintf(stderr, "%s\n", msg[n]); + + ExitProgram(ok ? EXIT_SUCCESS : EXIT_FAILURE); +} +/* *INDENT-OFF* */ +VERSION_COMMON() +/* *INDENT-ON* */ + int main(int argc, char *argv[]) { - if (argc > 1) { - railroad(argv + 1); + int ch; + + while ((ch = getopt(argc, argv, OPTS_COMMON)) != -1) { + switch (ch) { + case OPTS_VERSION: + show_version(argv); + ExitProgram(EXIT_SUCCESS); + default: + usage(ch == OPTS_USAGE); + /* NOTREACHED */ + } + } + + if (optind < argc) { + railroad(argv + optind); } else { static char world[] = "Hello World"; static char *hello[] = @@ -247,8 +284,7 @@ main(int argc, char *argv[]) #else int -main(int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) +main(void) { printf("This program requires termcap\n"); exit(EXIT_FAILURE);