1*789Speter /* Copyright (c) 1979 Regents of the University of California */
2*789Speter 
3*789Speter static	char sccsid[] = "@(#)yyoptions.c 1.1 08/27/80";
4*789Speter 
5*789Speter #include "whoami.h"
6*789Speter #include "0.h"
7*789Speter #include "yy.h"
8*789Speter 
9*789Speter /*
10*789Speter  * Options processes the option
11*789Speter  * strings which can appear in
12*789Speter  * comments and returns the next character.
13*789Speter  */
14*789Speter options()
15*789Speter {
16*789Speter 	register c, ch;
17*789Speter 	register char *optp;
18*789Speter 	int ok;
19*789Speter 
20*789Speter 	c = readch();
21*789Speter 	if (c != '$')
22*789Speter 		return (c);
23*789Speter 	do {
24*789Speter 		ch = c = readch();
25*789Speter 		switch (c) {
26*789Speter 			case 'b':
27*789Speter 				optp = &opt( 'b' );
28*789Speter 				c = readch();
29*789Speter 				if (!digit(c))
30*789Speter 					return (c);
31*789Speter 				*optp = c - '0';
32*789Speter 				c = readch();
33*789Speter 				break;
34*789Speter #		    ifdef PC
35*789Speter 			case 'C':
36*789Speter 				    /*
37*789Speter 				     *	C is a replacement for t, fake it.
38*789Speter 				     */
39*789Speter 				c = 't';
40*789Speter 				/* and fall through */
41*789Speter 			case 'g':
42*789Speter #		    endif PC
43*789Speter 			case 'k':
44*789Speter 			case 'l':
45*789Speter 			case 'n':
46*789Speter 			case 'p':
47*789Speter 			case 's':
48*789Speter 			case 't':
49*789Speter 			case 'u':
50*789Speter 			case 'w':
51*789Speter 			case 'z':
52*789Speter 				optp = &opt( c );
53*789Speter 				c = readch();
54*789Speter 				if (c == '+') {
55*789Speter 					*optp = 1;
56*789Speter 					c = readch();
57*789Speter 				} else if (c == '-') {
58*789Speter 					*optp = 0;
59*789Speter 					c = readch();
60*789Speter 				} else {
61*789Speter 					return (c);
62*789Speter 				}
63*789Speter 				break;
64*789Speter 			default:
65*789Speter 				    return (c);
66*789Speter 			}
67*789Speter #ifdef PI0
68*789Speter 		send(ROSET, ch, *optp);
69*789Speter #endif
70*789Speter 	} while (c == ',');
71*789Speter 	if ( opt( 'u' ) )
72*789Speter 		setuflg();
73*789Speter 	return (c);
74*789Speter }
75