X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Ftest_add_wchstr.c;h=c509f0035ac55129d34ce3e2764620d7b9da2ada;hp=78c8f37141a22e7328d16f843b1d17a07880b362;hb=1c551ea75ea57f9186fbe8d79674ac85baa4d358;hpb=f79b52fddd95c7a6f1ead29ef9c39eb8cdf60795;ds=sidebyside diff --git a/test/test_add_wchstr.c b/test/test_add_wchstr.c index 78c8f371..c509f003 100644 --- a/test/test_add_wchstr.c +++ b/test/test_add_wchstr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2009,2010 Free Software Foundation, Inc. * + * Copyright (c) 2010-2011,2012 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 * @@ -26,7 +26,7 @@ * authorization. * ****************************************************************************/ /* - * $Id: test_add_wchstr.c,v 1.13 2010/12/25 22:49:28 tom Exp $ + * $Id: test_add_wchstr.c,v 1.20 2012/12/16 00:12:04 tom Exp $ * * Demonstrate the waddwchstr() and wadd_wch functions. * Thomas Dickey - 2009/9/12 @@ -90,6 +90,8 @@ static size_t temp_length; if (need > temp_length) { \ temp_length = need * 2; \ temp_buffer = typeRealloc(cchar_t, temp_length, temp_buffer); \ + if (!temp_buffer) \ + failed("TempBuffer"); \ } \ have[0] = 0; \ have[1] = 0; \ @@ -123,7 +125,7 @@ ChWLen(const wchar_t *source) if (!pass_ctls) { size_t adjust = 0; size_t n; - NCURSES_CONST char *s; + const char *s; for (n = 0; n < result; ++n) { if (source[n] < 256 && (s = unctrl((chtype) source[n])) != 0) { @@ -317,6 +319,15 @@ test_add_wchstr(int level) (void) cbreak(); /* take input chars one at a time, no wait for \n */ (void) noecho(); /* don't echo input */ keypad(stdscr, TRUE); + + /* + * Show the characters added in color, to distinguish from those that + * are shifted. + */ + if (has_colors()) { + start_color(); + init_pair(1, COLOR_WHITE, COLOR_BLUE); + } } limit = LINES - 5; @@ -350,14 +361,8 @@ test_add_wchstr(int level) doupdate(); - /* - * Show the characters added in color, to distinguish from those that - * are shifted. - */ if (has_colors()) { - start_color(); - init_pair(1, COLOR_WHITE, COLOR_BLUE); - wbkgdset(work, COLOR_PAIR(1) | ' '); + wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' ')); } while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) { @@ -366,11 +371,13 @@ test_add_wchstr(int level) case key_RECUR: test_add_wchstr(level + 1); - touchwin(look); + if (look) + touchwin(look); touchwin(work); touchwin(show); - wnoutrefresh(look); + if (look) + wnoutrefresh(look); wnoutrefresh(work); wnoutrefresh(show); @@ -514,8 +521,8 @@ test_add_wchstr(int level) break; } } + delwin(show); if (level > 0) { - delwin(show); delwin(work); delwin(look); }