Annotation of 43BSDTahoe/bin/adb/adb.tahoe/input.c, revision 1.1.1.1

1.1       root        1: #ifndef lint
                      2: static char sccsid[] = "@(#)input.c    1.1 (Berkeley) 2/25/86";
                      3: #endif
                      4: 
                      5: /*
                      6:  *
                      7:  *     UNIX debugger
                      8:  *
                      9:  */
                     10: 
                     11: #include "defs.h"
                     12: 
                     13: INT            mkfault;
                     14: CHAR           line[LINSIZ];
                     15: INT            infile;
                     16: CHAR           *lp;
                     17: CHAR           peekc,lastc = EOR;
                     18: INT            eof;
                     19: 
                     20: /* input routines */
                     21: 
                     22: eol(c)
                     23: CHAR   c;
                     24: {
                     25:        return(c==EOR ORF c==';');
                     26: }
                     27: 
                     28: rdc()
                     29: {      REP     readchar();
                     30:        PER     lastc==SP ORF lastc==TB
                     31:        DONE
                     32:        return(lastc);
                     33: }
                     34: 
                     35: readchar(dmy)
                     36: {
                     37:        IF eof
                     38:        THEN    lastc=0;
                     39:        ELSE    IF lp==0
                     40:                THEN    lp=line;
                     41:                        REP eof = read(infile,lp,1)==0;
                     42:                            IF mkfault THEN error(0); FI
                     43:                        PER eof==0 ANDF *lp++!=EOR DONE
                     44:                        *lp=0; lp=line;
                     45:                FI
                     46:                IF lastc = peekc THEN peekc=0;
                     47:                ELIF lastc = *lp THEN lp++;
                     48:                FI
                     49:        FI
                     50:        return(lastc);
                     51: }
                     52: 
                     53: nextchar()
                     54: {
                     55:        IF eol(rdc())
                     56:        THEN lp--; return(0);
                     57:        ELSE return(lastc);
                     58:        FI
                     59: }
                     60: 
                     61: quotchar()
                     62: {
                     63:        IF readchar()=='\\'
                     64:        THEN    return(readchar());
                     65:        ELIF lastc=='\''
                     66:        THEN    return(0);
                     67:        ELSE    return(lastc);
                     68:        FI
                     69: }
                     70: 
                     71: getformat(deformat)
                     72: STRING         deformat;
                     73: {
                     74:        REG STRING      fptr;
                     75:        REG BOOL        quote;
                     76:        fptr=deformat; quote=FALSE;
                     77:        WHILE (quote ? readchar()!=EOR : !eol(readchar()))
                     78:        DO  IF (*fptr++ = lastc)=='"'
                     79:            THEN quote = ~quote;
                     80:            FI
                     81:        OD
                     82:        lp--;
                     83:        IF fptr!=deformat THEN *fptr++ = '\0'; FI
                     84: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.