fix auto-quoting screwup
[unix-history] / usr / src / sys / stand.att / gets.c
CommitLineData
3f62363f
KB
1/*
2 * Copyright (c) 1988 Regents of the University of California.
3 * All rights reserved.
4 *
dbf0c423 5 * %sccs.include.redist.c%
3f62363f 6 *
dbf0c423 7 * @(#)gets.c 7.5 (Berkeley) %G%
3f62363f
KB
8 */
9
10gets(buf)
11 char *buf;
12{
13 register int c;
14 register char *lp;
15
16 for (lp = buf;;)
17 switch(c = getchar() & 0177) {
18 case '\n':
19 case '\r':
20 *lp = '\0';
21 return;
22 case '\b':
ebfc8f7c 23 case '\177':
3f62363f
KB
24 if (lp > buf) {
25 lp--;
26 putchar('\b');
27 putchar(' ');
28 putchar('\b');
29 }
30 break;
31 case '#':
3f62363f
KB
32 if (lp > buf)
33 --lp;
34 break;
efd2fb19
KB
35 case 'r'&037: {
36 register char *p;
37
38 putchar('\n');
39 for (p = buf; p < lp; ++p)
40 putchar(*p);
41 break;
42 }
3f62363f
KB
43 case '@':
44 case 'u'&037:
efd2fb19 45 case 'w'&037:
3f62363f
KB
46 lp = buf;
47 putchar('\n');
48 break;
49 default:
50 *lp++ = c;
51 }
52 /*NOTREACHED*/
53}