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[] = "@(#)yyoptions.c 5.1 (Berkeley) 6/5/85";
9: #endif not lint
10:
11: #include "whoami.h"
12: #include "0.h"
13: #include "tree_ty.h" /* must be included for yy.h */
14: #include "yy.h"
15:
16: /*
17: * Options processes the option
18: * strings which can appear in
19: * comments and returns the next character.
20: */
21: options()
22: {
23: register c;
24: #ifdef PI0
25: register ch;
26: #endif
27: register char *optp;
28:
29: c = readch();
30: if (c != '$')
31: return (c);
32: do {
33: c = readch();
34: # ifdef PI0
35: ch = c;
36: # endif
37: switch (c) {
38: case 'b':
39: optp = &opt( 'b' );
40: c = readch();
41: if (!digit(c))
42: return (c);
43: *optp = c - '0';
44: c = readch();
45: break;
46: # ifdef PC
47: case 'C':
48: /*
49: * C is a replacement for t, fake it.
50: */
51: c = 't';
52: /* and fall through */
53: case 'g':
54: # endif PC
55: case 'k':
56: case 'l':
57: case 'n':
58: case 'p':
59: case 's':
60: case 't':
61: case 'u':
62: case 'w':
63: case 'z':
64: optp = &opt( c );
65: c = readch();
66: if (c == '+') {
67: *optp = 1;
68: c = readch();
69: } else if (c == '-') {
70: *optp = 0;
71: c = readch();
72: } else {
73: return (c);
74: }
75: break;
76: default:
77: return (c);
78: }
79: #ifdef PI0
80: send(ROSET, ch, *optp);
81: #endif
82: } while (c == ',');
83: if ( opt( 'u' ) )
84: setuflg();
85: return (c);
86: }
Defined functions
Defined variables
sccsid
defined in line
8;
never used