xref: /original-bsd/old/lib2648/escseq.c (revision 92d3de31)
1 /*	escseq.c	4.1	83/03/09	*/
2 /*
3  * escseq: get us out of any escape sequence we are in the middle of
4  * and put us into the requested kind of escape sequence.
5  */
6 
7 #include "2648.h"
8 
9 escseq(mode)
10 int mode;
11 {
12 	if (mode == _escmode)
13 		return;
14 	/* Get out of previous mode */
15 	switch (_escmode) {
16 	case NONE:
17 		break;
18 	case ESCD:
19 		if (mode == TEXT) {
20 			outchar('s');
21 			_escmode = mode;
22 			return;
23 		}
24 	case ESCP:
25 	case ESCM:
26 		outchar('Z');	/* no-op */
27 		break;
28 	case TEXT:
29 		outstr("\33*dT");
30 		break;
31 	}
32 	/* Get into new mode */
33 	switch (_escmode = mode) {
34 	case NONE:
35 		break;
36 	case ESCD:
37 		outstr("\33*d");
38 		break;
39 	case ESCP:
40 		outstr("\33*p");
41 		break;
42 	case ESCM:
43 		outstr("\33*m");
44 		break;
45 	case TEXT:
46 		outstr("\33*dS");
47 		break;
48 	}
49 }
50