X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Finch_wide.c;fp=test%2Finch_wide.c;h=7b838d1dff28b82d6084a08d8117e694ec848a26;hp=e44a5f5128604c4dc1c5ee1bdc2ccb8e0869c267;hb=a09e8b13568e210a03ca4ad64e8552c0edea07c5;hpb=6641601a9dd7f34deeaa978899b3730b27635afb diff --git a/test/inch_wide.c b/test/inch_wide.c index e44a5f51..7b838d1d 100644 --- a/test/inch_wide.c +++ b/test/inch_wide.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2020,2022 Thomas E. Dickey * * Copyright 2007-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,7 +27,7 @@ * authorization. * ****************************************************************************/ /* - * $Id: inch_wide.c,v 1.11 2020/02/02 23:34:34 tom Exp $ + * $Id: inch_wide.c,v 1.13 2022/12/10 23:55:34 tom Exp $ */ /* int in_wch(cchar_t *wcval); @@ -259,19 +259,49 @@ test_inchs(int level, char **argv, WINDOW *chrwin, WINDOW *strwin) return TRUE; } +static void +usage(int ok) +{ + static const char *msg[] = + { + "Usage: inch_wide [options] [file1 [...]]" + ,"" + ,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[]) { WINDOW *chrbox; WINDOW *chrwin; WINDOW *strwin; + 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 */ + } + } setlocale(LC_ALL, ""); - if (argc < 2) { - fprintf(stderr, "usage: %s file1 [file2 [...]]\n", argv[0]); - return EXIT_FAILURE; - } + if (optind + 1 > argc) + usage(FALSE); initscr(); @@ -282,7 +312,7 @@ main(int argc, char *argv[]) chrwin = derwin(chrbox, 1, COLS - 2, 1, 1); strwin = derwin(chrbox, 4, COLS - 2, 2, 1); - test_inchs(1, argv, chrwin, strwin); + test_inchs(optind, argv, chrwin, strwin); endwin(); ExitProgram(EXIT_SUCCESS);