/****************************************************************************
- * Copyright (c) 2008-2012,2014 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-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 *
* authorization. *
****************************************************************************/
/*
- * $Id: clip_printw.c,v 1.10 2014/08/02 23:13:29 tom Exp $
+ * $Id: clip_printw.c,v 1.15 2017/09/28 23:07:23 tom Exp $
*
* demonstrate how to use printw without wrapping.
*/
#include <test.priv.h>
+#include <popup_msg.h>
#ifdef HAVE_VW_PRINTW
attr_t attr;
const char *msg;
} table[] = {
- { A_NORMAL, "normal" },
- { A_BOLD, "bold" },
- { A_REVERSE, "reverse" },
- { A_UNDERLINE, "underline" },
- { A_BLINK, "blink" },
+ { WA_NORMAL, "normal" },
+ { WA_BOLD, "bold" },
+ { WA_REVERSE, "reverse" },
+ { WA_UNDERLINE, "underline" },
+ { WA_BLINK, "blink" },
};
/* *INDENT-ON* */
static void
show_help(WINDOW *win)
{
- static const char *table[] =
+ static const char *msgs[] =
{
"Basic commands:"
,"Use h/j/k/l or arrow keys to move the cursor."
,"Other commands:"
,"space toggles through the set of video attributes and colors."
,"t touches (forces repaint) of the current line."
- ,". calls clip_wprintw at the current position with the given count."
+ ,". calls vw_printw at the current position with the given count."
,"= resets count to zero."
,"? shows this help-window"
- ,""
+ ,0
};
- int y_max, x_max;
- int row;
-
- getmaxyx(win, y_max, x_max);
- for (row = 0; row < (int) SIZEOF(table) && row < y_max; ++row) {
- MvWPrintw(win, row, 0, "%.*s", x_max, table[row]);
- }
- while (wgetch(win) != 'q')
- beep();
+ popup_msg(win, msgs);
}
static void
sp->count = 0;
show_status(win, sp);
break;
- case '?':
- do_subwindow(win, sp, show_help);
+ case HELP_KEY_1:
+ show_help(win);
break;
default:
if (isdigit(sp->ch)) {
(void) wattrset(win, AttrArg(COLOR_PAIR(st.pair), st.attr));
if (st.count > 0) {
need = (unsigned) st.count + 1;
- sprintf(fmt, "%%c%%%ds%%c", st.count);
+ _nc_SPRINTF(fmt, _nc_SLIMIT(sizeof(fmt)) "%%c%%%ds%%c", st.count);
} else {
need = (unsigned) getmaxx(win) - 1;
- strcpy(fmt, "%c%s%c");
+ _nc_STRCPY(fmt, "%c%s%c", sizeof(fmt));
}
if ((buffer = typeMalloc(char, need + 1)) != 0) {
for (j = 0; j < need; ++j) {