release
[hcoop/zz_old/debian/djbdns.git] / auto-str.c
1 #include "buffer.h"
2 #include "exit.h"
3
4 char bspace[256];
5 buffer b = BUFFER_INIT(buffer_unixwrite,1,bspace,sizeof bspace);
6
7 void puts(const char *s)
8 {
9 if (buffer_puts(&b,s) == -1) _exit(111);
10 }
11
12 int main(int argc,char **argv)
13 {
14 char *name;
15 char *value;
16 unsigned char ch;
17 char octal[4];
18
19 name = argv[1];
20 if (!name) _exit(100);
21 value = argv[2];
22 if (!value) _exit(100);
23
24 puts("const char ");
25 puts(name);
26 puts("[] = \"\\\n");
27
28 while (ch = *value++) {
29 puts("\\");
30 octal[3] = 0;
31 octal[2] = '0' + (ch & 7); ch >>= 3;
32 octal[1] = '0' + (ch & 7); ch >>= 3;
33 octal[0] = '0' + (ch & 7);
34 puts(octal);
35 }
36
37 puts("\\\n\";\n");
38 if (buffer_flush(&b) == -1) _exit(111);
39 _exit(0);
40 }