|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1980 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: */ ! 6: ! 7: #ifndef lint ! 8: static char sccsid[] = "@(#)open.c 5.1 (Berkeley) 5/7/85"; ! 9: #endif not lint ! 10: ! 11: /* ! 12: * This accepts plot file formats and produces the appropriate plots ! 13: * for dumb terminals. It can also be used for printing terminals and ! 14: * lineprinter listings, although there is no way to specify number of ! 15: * lines and columns different from your terminal. This would be easy ! 16: * to change, and is left as an exercise for the reader. ! 17: */ ! 18: ! 19: #include <signal.h> ! 20: #include "dumb.h" ! 21: ! 22: int minX, rangeX; /* min and range of x */ ! 23: int minY, rangeY; /* min and range of y */ ! 24: int currentx,currenty; ! 25: int COLS,LINES; ! 26: ! 27: /* A very large screen! (probably should use malloc) */ ! 28: char screenmat[MAXCOLS][MAXLINES]; ! 29: ! 30: openpl() ! 31: { ! 32: int closepl(); ! 33: int i, j; ! 34: char *term, *getenv(); ! 35: char bp[1024]; ! 36: ! 37: term = getenv("TERM"); ! 38: tgetent(bp, term); ! 39: ! 40: COLS = tgetnum("co"); ! 41: if (COLS > MAXCOLS) ! 42: COLS = MAXCOLS; ! 43: if (COLS < 0) ! 44: COLS = 48; /* lower bound on # of cols? */ ! 45: COLS--; /* prevent auto wrap */ ! 46: ! 47: LINES = tgetnum("li"); ! 48: if (LINES > MAXLINES) ! 49: LINES = MAXLINES; ! 50: if (LINES < 0) ! 51: LINES = 20; /* lower bound on # of lines? */ ! 52: ! 53: for(i=0; i<COLS; i++) ! 54: for(j=0; j<LINES; j++) ! 55: screenmat[i][j] = ' '; ! 56: ! 57: signal(SIGINT, closepl); ! 58: currentx = currenty = 0; ! 59: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.