#include #include "buffer.h" #include "exit.h" char inbuf[BUFFER_SMALL]; buffer b = BUFFER_INIT(write, 1, inbuf, sizeof(inbuf)); void out(char *s) { if (buffer_puts(&b, s) == -1) _exit(111); } int main(int argc, char **argv) { char *name; char *value; unsigned char ch; char octal[4]; name = argv[1]; if (!name) _exit(100); value = argv[2]; if (!value) _exit(100); out("char "); out(name); out("[] = \"\\\n"); while ((ch = *value++)) { out("\\"); octal[3] = 0; octal[2] = '0' + (ch & 7); ch >>= 3; octal[1] = '0' + (ch & 7); ch >>= 3; octal[0] = '0' + (ch & 7); out(octal); } out("\\\n\";\n"); if (buffer_flush(&b) == -1) _exit(111); _exit(0); }