-rw-r--r-- 686 cdb-20251021/auto-str.c raw
#include <unistd.h> #include "outbuf.h" static void print(const char *s) { if (outbuf_puts(outbuf_1small,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); print("const char "); print(name); print("[] = \"\\\n"); while ((ch = *value++)) { print("\\"); octal[3] = 0; octal[2] = '0' + (ch & 7); ch >>= 3; octal[1] = '0' + (ch & 7); ch >>= 3; octal[0] = '0' + (ch & 7); print(octal); } print("\\\n\";\n"); if (outbuf_flush(outbuf_1small) == -1) _exit(111); _exit(0); return 0; }