]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/tiff/contrib/mac-mpw/mactrans.c
fix bug with adding entries to a root group containing only subgroups (as shown by...
[wxWidgets.git] / src / tiff / contrib / mac-mpw / mactrans.c
... / ...
CommitLineData
1/*
2 * mactrans.c -- Hack filter used to generate MPW files
3 * with special characters from pure ASCII, denoted "%nn"
4 * where nn is hex. (except for "%%", which is literal '%').
5 *
6 * calling sequence:
7 *
8 * catenate file | mactrans [-toascii | -fromascii] > output
9 *
10 * Written by: Niles Ritter.
11 */
12#include <stdio.h>
13#include <stdlib.h>
14#include <ctype.h>
15
16void to_ascii(void);
17void from_ascii(void);
18
19main(int argc, char *argv[])
20{
21 if (argc<2 || argv[1][1]=='f') from_ascii();
22 else to_ascii();
23 exit (0);
24}
25
26void from_ascii(void)
27{
28 char c;
29 int d;
30 while ((c=getchar())!=EOF)
31 {
32 if (c!='%' || (c=getchar())=='%') putchar(c);
33 else
34 {
35 ungetc(c,stdin);
36 scanf("%2x",&d);
37 *((unsigned char *)&c) = d;
38 putchar(c);
39 }
40 }
41}
42
43void to_ascii(void)
44{
45 char c;
46 int d;
47 while ((c=getchar())!=EOF)
48 {
49 if (isascii(c)) putchar (c);
50 else
51 {
52 d = *((unsigned char *)&c);
53 printf("%%%2x",d);
54 }
55 }
56}