xref: /csrg-svn/old/lex/libln/allprint.c (revision 9917)
1*9917Ssam /*	@(#)allprint.c	4.1	12/25/82	*/
2*9917Ssam 
3*9917Ssam # include <stdio.h>
allprint(c)4*9917Ssam allprint(c)
5*9917Ssam   char c; {
6*9917Ssam 	extern FILE *yyout;
7*9917Ssam 	switch(c){
8*9917Ssam 		case '\n':
9*9917Ssam 			fprintf(yyout,"\\n");
10*9917Ssam 			break;
11*9917Ssam 		case '\t':
12*9917Ssam 			fprintf(yyout,"\\t");
13*9917Ssam 			break;
14*9917Ssam 		case '\b':
15*9917Ssam 			fprintf(yyout,"\\b");
16*9917Ssam 			break;
17*9917Ssam 		case ' ':
18*9917Ssam 			fprintf(yyout,"\\\bb");
19*9917Ssam 			break;
20*9917Ssam 		default:
21*9917Ssam 			if(!printable(c))
22*9917Ssam 				fprintf(yyout,"\\%-3o",c);
23*9917Ssam 			else
24*9917Ssam 				putc(c,yyout);
25*9917Ssam 			break;
26*9917Ssam 		}
27*9917Ssam 	return;
28*9917Ssam 	}
sprint(s)29*9917Ssam sprint(s)
30*9917Ssam   char *s; {
31*9917Ssam 	while(*s)
32*9917Ssam 		allprint(*s++);
33*9917Ssam 	return;
34*9917Ssam 	}
printable(c)35*9917Ssam printable(c)
36*9917Ssam   int c;
37*9917Ssam 	{
38*9917Ssam 	return(040 < c && c < 0177);
39*9917Ssam 	}
40