diff options
Diffstat (limited to 'test/blue.c')
-rw-r--r-- | test/blue.c | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/test/blue.c b/test/blue.c index 922caab94396..90f240b62634 100644 --- a/test/blue.c +++ b/test/blue.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2021,2022 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -37,7 +37,7 @@ *****************************************************************************/ /* - * $Id: blue.c,v 1.53 2020/02/02 23:34:34 tom Exp $ + * $Id: blue.c,v 1.55 2022/12/10 23:31:31 tom Exp $ */ #include <test.priv.h> @@ -71,7 +71,7 @@ #define BLACK_ON_WHITE 2 #define BLUE_ON_WHITE 3 -static void die(int onsig) GCC_NORETURN; +static GCC_NORETURN void die(int onsig); static int deck_size = PACK_SIZE; /* initial deck */ static int deck[PACK_SIZE]; @@ -465,9 +465,44 @@ use_pc_display(void) #define use_pc_display() /* nothing */ #endif /* HAVE_LANGINFO_CODESET */ +static void +usage(int ok) +{ + static const char *msg[] = + { + "Usage: blue [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[]) { + 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) + usage(FALSE); + setlocale(LC_ALL, ""); use_pc_display(); |