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