|
|
researchv10 Norman
# include "curses.ext"
# include <signal.h>
/* @(#) newpad.c: 1.1 10/15/83 (1.17 3/16/83) */
char *calloc();
char *malloc();
extern char *getenv();
extern WINDOW *makenew();
/*
* Like newwin, but makes a pad instead of a window. A pad is not
* associated with part of the screen, so it can be bigger.
*/
WINDOW *
newpad(nlines, ncols)
register int nlines;
{
register WINDOW *win;
register chtype *sp;
register int i;
char *calloc();
if ((win = makenew(nlines, ncols, 0, 0)) == NULL)
return NULL;
win->_flags |= _ISPAD;
for (i = 0; i < nlines; i++)
if ((win->_y[i] = (chtype *) calloc(ncols, sizeof (chtype))) == NULL) {
register int j;
for (j = 0; j < i; j++)
cfree((char *)win->_y[j]);
cfree((char *)win->_firstch);
cfree((char *)win->_lastch);
cfree((char *)win->_y);
cfree((char *)win);
return NULL;
}
else
for (sp = win->_y[i]; sp < win->_y[i] + ncols; )
*sp++ = ' ';
return win;
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.