From 1087d4df2a7342d2832ba3bab1843bf4a3040775 Mon Sep 17 00:00:00 2001 From: Jannis Hoffmann Date: Sun, 14 Jul 2024 21:28:19 +0200 Subject: add version 0.12.10 --- src/auto-str.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/auto-str.c (limited to 'src/auto-str.c') diff --git a/src/auto-str.c b/src/auto-str.c new file mode 100644 index 0000000..4086921 --- /dev/null +++ b/src/auto-str.c @@ -0,0 +1,42 @@ +/* what to do */ +#include "readwrite.h" +#include "exit.h" +#include "buffer.h" + +char bspace[BUFFER_SMALL]; +buffer b = BUFFER_INIT(buffer_unixwrite,1,bspace,sizeof(bspace)); + +static void outs(const 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); + + outs("const char "); + outs(name); + outs("[] = \"\\\n"); + + while ((ch = *value++)) { + outs("\\"); + octal[3] = 0; + octal[2] = '0' + (ch & 7); ch >>= 3; + octal[1] = '0' + (ch & 7); ch >>= 3; + octal[0] = '0' + (ch & 7); + outs(octal); + } + + outs("\\\n\";\n"); + if (buffer_flush(&b) == -1) _exit(111); + _exit(0); +} -- cgit v1.2.3