X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Fview.c;h=c4c53c79a1dba1d674e163be0bd0bd42cdf10855;hp=eb7786e1a36d171b6d78f6f5fe8ad227f18cb487;hb=56a81c7e79f73d397cc8074401d039f59c34cad5;hpb=8890c8f28a1db5995ef17f52a7d8c0b9cf574210 diff --git a/test/view.c b/test/view.c index eb7786e1..c4c53c79 100644 --- a/test/view.c +++ b/test/view.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. * + * Copyright 2019-2020,2021 Thomas E. Dickey * + * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -51,7 +52,7 @@ * scroll operation worked, and the refresh() code only had to do a * partial repaint. * - * $Id: view.c,v 1.137 2019/12/07 19:03:07 tom Exp $ + * $Id: view.c,v 1.141 2021/05/08 15:57:04 tom Exp $ */ #include @@ -61,7 +62,7 @@ #include #include -static void finish(int sig) GCC_NORETURN; +static GCC_NORETURN void finish(int sig); #define my_pair 1 @@ -77,9 +78,7 @@ static int num_lines; static bool n_option = FALSE; #endif -static void usage(void) GCC_NORETURN; - -static void +static GCC_NORETURN void failed(const char *msg) { endwin(); @@ -91,12 +90,10 @@ static int ch_len(NCURSES_CH_T *src) { int result = 0; -#if USE_WIDEC_SUPPORT - int count; -#endif #if USE_WIDEC_SUPPORT for (;;) { + int count; TEST_CCHAR(src, count, { int len = wcwidth(test_wch[0]); result += (len > 0) ? len : 1; @@ -135,7 +132,6 @@ show_all(const char *tag) int i; int digits; char temp[BUFSIZ]; - NCURSES_CH_T *s; time_t this_time; for (digits = 1, i = num_lines; i > 0; i /= 10) { @@ -160,8 +156,10 @@ show_all(const char *tag) scrollok(stdscr, FALSE); /* prevent screen from moving */ for (i = 1; i < LINES; i++) { + NCURSES_CH_T *s; int len; int actual = (int) (lptr + i - vec_lines); + if (actual > num_lines) { if (i < LINES - 1) { int y, x; @@ -188,8 +186,11 @@ show_all(const char *tag) */ { int j; - int width = 1, count; + int width = 1; + for (j = actual = 0; j < shift; ++j) { + int count; + TEST_CCHAR(s + j, count, { width = wcwidth(test_wch[0]); } @@ -365,7 +366,7 @@ read_file(const char *filename) free(my_blob); } -static void +static GCC_NORETURN void usage(void) { static const char *msg[] =