|
|
1.1 ! root 1: # ! 2: /* ! 3: * ! 4: * UNIX debugger ! 5: * ! 6: */ ! 7: ! 8: #include "defs.h" ! 9: ! 10: char line[LINSIZ]; ! 11: int infile; ! 12: char *lp; ! 13: char peekc,lastc = EOR; ! 14: int eof; ! 15: ! 16: /* input routines */ ! 17: ! 18: eol(c) ! 19: char c; ! 20: { ! 21: return(c==EOR || c==';'); ! 22: } ! 23: ! 24: int ! 25: rdc() ! 26: { ! 27: do { ! 28: readchar(); ! 29: } while (lastc==SP || lastc==TB); ! 30: return(lastc); ! 31: } ! 32: ! 33: reread() ! 34: { ! 35: peekc = lastc; ! 36: } ! 37: ! 38: clrinp() ! 39: { ! 40: ! 41: lp = 0; ! 42: peekc = 0; ! 43: } ! 44: ! 45: int ! 46: readchar() ! 47: { ! 48: if (eof) ! 49: lastc=0; ! 50: else if (peekc) { ! 51: lastc = peekc; ! 52: peekc = 0; ! 53: } ! 54: else { ! 55: if (lp==0) { ! 56: lp=line; ! 57: do { ! 58: eof = read(infile,lp,1)==0; ! 59: if (mkfault) ! 60: error(0); ! 61: } while (eof==0 && *lp++!=EOR); ! 62: *lp=0; ! 63: lp=line; ! 64: } ! 65: if ((lastc = *lp) != 0) ! 66: lp++; ! 67: } ! 68: return(lastc); ! 69: } ! 70: ! 71: nextchar() ! 72: { ! 73: if (eol(rdc())) { ! 74: reread(); ! 75: return(0); ! 76: } ! 77: return(lastc); ! 78: } ! 79: ! 80: quotchar() ! 81: { ! 82: if (readchar()=='\\') ! 83: return(readchar()); ! 84: else if (lastc=='\'') ! 85: return(0); ! 86: else ! 87: return(lastc); ! 88: } ! 89: ! 90: getformat(deformat) ! 91: char *deformat; ! 92: { ! 93: register char *fptr; ! 94: register BOOL quote; ! 95: ! 96: fptr=deformat; ! 97: quote=FALSE; ! 98: while ((quote ? readchar()!=EOR : !eol(readchar()))) ! 99: if ((*fptr++ = lastc)=='"') ! 100: quote = ~quote; ! 101: lp--; ! 102: if (fptr!=deformat) ! 103: *fptr = '\0'; ! 104: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.