Commit | Line | Data |
---|---|---|
dca25f5a DF |
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 | ||
b91a4d44 | 7 | #ifndef lint |
dca25f5a DF |
8 | static char sccsid[] = "@(#)open.c 5.1 (Berkeley) %G%"; |
9 | #endif not lint | |
b91a4d44 RC |
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 | } |