From 867bf25d3c73dd3dc99605ec1ad3c30726b33068 Mon Sep 17 00:00:00 2001 From: Michael Andres Date: Thu, 10 Aug 2006 21:00:35 +0000 Subject: [PATCH] Helper script. Takes a file 'foo' as input and creates a header 'foo.h' providing 'std::list foo()' returning the content of 'foo' as list of strings. --- devel/devel.ma/lines2array | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 devel/devel.ma/lines2array diff --git a/devel/devel.ma/lines2array b/devel/devel.ma/lines2array new file mode 100755 index 0000000..18107ae --- /dev/null +++ b/devel/devel.ma/lines2array @@ -0,0 +1,30 @@ +#! /bin/bash + +OFILE=${1:-array} + +cat $1 | awk -vOFILE=$OFILE ' +BEGIN { + sep = " " + printf "#ifndef ARRAY_%s_h\n", OFILE + printf "#define ARRAY_%s_h\n", OFILE + printf "\n" + printf "#include \n" + printf "#include \n" + printf "\n" + printf "std::list %s()\n", OFILE + printf "{\n" + printf " const char *const val[] = {\n" +} +{ + printf " %s\"%s\"\n", sep, $0 + sep = "," +} +END { + printf " };\n" + printf " const char *const* e = val + sizeof( val ) / sizeof( const char *const );\n" + printf " return std::list( val, e );\n" + printf "}\n" + printf "\n" + printf "#endif // ARRAY_%s_h\n", OFILE +} +' > $OFILE.h -- 2.7.4