xref: /original-bsd/sys/hp300/stand/prf.c (revision 3705696b)
1 /*
2  * Copyright (c) 1982, 1986, 1990, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)prf.c	8.1 (Berkeley) 06/10/93
8  */
9 
10 /*
11  * XXX we know that scankbd is only called from read/write to interrupt
12  * a boot program.  Since we restart only on ^C and we do that here, we
13  * always return 0 to avoid a longjmp in the caller.
14  */
15 scankbd()
16 {
17 	register int c;
18 
19 	c = cngetc();
20 	if (c == ('c'&037)) {
21 		printf("^C");
22 		_stop("");
23 		/* NOTREACHED */
24 	}
25 	return(0);
26 }
27 
28 getchar()
29 {
30 	register int c;
31 
32 	while((c = cngetc()) == 0)
33 		;
34 	if (c == '\r')
35 		c = '\n';
36 	else if (c == ('c'&037)) {
37 		printf("^C");
38 		_stop("");
39 		/* NOTREACHED */
40 	}
41 	if (c != '\b' && c != '\177')
42 		putchar(c);
43 	return(c);
44 }
45 
46 putchar(c)
47 	register int c;
48 {
49 	cnputc(c);
50 	if (c == '\n')
51 		cnputc('\r');
52 }
53