/****************************************************************************
- * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2014,2016 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.8 2012/06/09 20:30:32 tom Exp $
+ * $Id: clip_printw.c,v 1.12 2016/09/10 21:21:44 tom Exp $
*
* demonstrate how to use printw without wrapping.
*/
delwin(win1);
touchwin(win);
} else {
+ if (win1)
+ delwin(win1);
beep();
}
}
do {
switch (st.ch) {
case '.': /* change from current position */
- (void) wattrset(win, (int) (st.attr | (chtype) COLOR_PAIR(st.pair)));
+ (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)) != 0) {
+ if ((buffer = typeMalloc(char, need + 1)) != 0) {
for (j = 0; j < need; ++j) {
buffer[j] = (char) ('A' + (j % 26));
}
buffer[need - 1] = '\0';
st.status = clip_wprintw(win, fmt, '[', buffer, ']');
+ free(buffer);
}
break;
case 'w':