|
|
researchv10 Norman
/* @(#) line_alloc.c: 1.1 10/15/83 (1.9 10/27/82) */
#include "curses.ext"
/*
* _line_alloc returns a pointer to a new line structure.
*/
struct line *
_line_alloc ()
{
register struct line *rv = SP->freelist;
char *calloc();
#ifdef DEBUG
if(outf) fprintf(outf, "mem: _line_alloc (), prev SP->freelist %x\n", SP->freelist);
#endif
if (rv) {
SP->freelist = rv -> next;
} else {
#ifdef NONSTANDARD
_ec_quit("No lines available in line_alloc", "");
#else
rv = (struct line *) calloc (1, sizeof *rv);
rv -> body = (chtype *) calloc (columns, sizeof (chtype));
#endif
}
rv -> length = 0;
rv -> hash = 0;
return rv;
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.