]> git.lizzy.rs Git - plan9front.git/blob - sys/src/liblex/allprint.c
Import sources from 2011-03-30 iso image
[plan9front.git] / sys / src / liblex / allprint.c
1 #include        <u.h>
2 #include        <libc.h>
3 #include        <stdio.h>
4
5 extern  FILE*   yyout;
6
7 int
8 printable(int c)
9 {
10         return 040 < c && c < 0177;
11 }
12
13 void
14 allprint(char c)
15 {
16
17         switch(c) {
18         case '\n':
19                 fprintf(yyout,"\\n");
20                 break;
21         case '\t':
22                 fprintf(yyout,"\\t");
23                 break;
24         case '\b':
25                 fprintf(yyout,"\\b");
26                 break;
27         case ' ':
28                 fprintf(yyout,"\\\bb");
29                 break;
30         default:
31                 if(!printable(c))
32                         fprintf(yyout,"\\%-3o",c);
33                 else 
34                         c = putc(c,yyout);
35                         USED(c);
36                 break;
37         }
38         return;
39 }