From 56ae875861ab260b80a030f50c4aff9f9dc8fff0 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 13:32:39 +0200 Subject: Adding upstream version 2.14.2. Signed-off-by: Daniel Baumann --- tools/mkembedconfig/mkembedconfig.c | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 tools/mkembedconfig/mkembedconfig.c (limited to 'tools/mkembedconfig/mkembedconfig.c') diff --git a/tools/mkembedconfig/mkembedconfig.c b/tools/mkembedconfig/mkembedconfig.c new file mode 100644 index 0000000..ae23087 --- /dev/null +++ b/tools/mkembedconfig/mkembedconfig.c @@ -0,0 +1,51 @@ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ + +#include +#include +#include + +int main(int argc, char **argv) +{ + FILE *infp, *outfp; + + if (argc < 3) { + fprintf(stderr, "Syntax: %s \n", argv[0]); + return EXIT_FAILURE; + } + + infp = fopen(argv[1], "r"); + + if (!infp) { + perror("fopen"); + return EXIT_FAILURE; + } + + outfp = fopen(argv[2], "w"); + + if (!outfp) { + fclose(infp); + perror("fopen"); + return EXIT_FAILURE; + } + + fprintf(outfp, "/* This file has been automatically generated\n" + " from the input file \"%s\". */\n\n", argv[1]); + fputs("#include \"config/configfragment.hpp\"\n\nnamespace {\n\nconst char *fragment = R\"CONFIG_FRAGMENT(", outfp); + + while (!feof(infp)) { + char buf[1024]; + size_t rc = fread(buf, 1, sizeof(buf), infp); + + if (rc == 0) + break; + + fwrite(buf, rc, 1, outfp); + } + + fprintf(outfp, ")CONFIG_FRAGMENT\";\n\nREGISTER_CONFIG_FRAGMENT(\"%s\", fragment);\n\n}", argv[1]); + + fclose(outfp); + fclose(infp); + + return EXIT_SUCCESS; +} -- cgit v1.2.3