|
|
1.1 root 1: /* @(#) line_alloc.c: 1.1 10/15/83 (1.9 10/27/82) */
2:
3: #include "curses.ext"
4:
5: /*
6: * _line_alloc returns a pointer to a new line structure.
7: */
8: struct line *
9: _line_alloc ()
10: {
11: register struct line *rv = SP->freelist;
12: char *calloc();
13:
14: #ifdef DEBUG
15: if(outf) fprintf(outf, "mem: _line_alloc (), prev SP->freelist %x\n", SP->freelist);
16: #endif
17: if (rv) {
18: SP->freelist = rv -> next;
19: } else {
20: #ifdef NONSTANDARD
21: _ec_quit("No lines available in line_alloc", "");
22: #else
23: rv = (struct line *) calloc (1, sizeof *rv);
24: rv -> body = (chtype *) calloc (columns, sizeof (chtype));
25: #endif
26: }
27: rv -> length = 0;
28: rv -> hash = 0;
29: return rv;
30: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.