|
|
1.1 ! root 1: /* ! 2: * @(#)get.c 1.1 86/02/03 Copyright (c) 1985 by Sun Microsystems, Inc. ! 3: */ ! 4: #include "../mon/sunromvec.h" ! 5: ! 6: getchar() ! 7: { ! 8: register int c; ! 9: ! 10: while ((c = (*romp->v_mayget)()) == -1) ! 11: ; ! 12: if (c == '\r') ! 13: c = '\n'; ! 14: if (c == 0177 || c == '\b') { ! 15: putchar('\b'); ! 16: putchar(' '); ! 17: c = '\b'; ! 18: } ! 19: putchar(c); ! 20: return (c); ! 21: } ! 22: ! 23: gets(buf) ! 24: char *buf; ! 25: { ! 26: register char *lp; ! 27: register c; ! 28: ! 29: lp = buf; ! 30: for (;;) { ! 31: c = getchar() & 0177; ! 32: switch(c) { ! 33: case '\n': ! 34: case '\r': ! 35: c = '\n'; ! 36: *lp++ = '\0'; ! 37: return; ! 38: case '\b': ! 39: lp--; ! 40: if (lp < buf) ! 41: lp = buf; ! 42: continue; ! 43: case 'u'&037: /* ^U */ ! 44: lp = buf; ! 45: putchar('\n'); ! 46: continue; ! 47: default: ! 48: *lp++ = c; ! 49: } ! 50: } ! 51: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.