Update upstream source from tag 'upstream/3.1.1'
[xfishtank.git] / src / gen_ui_xml.sh
diff --git a/src/gen_ui_xml.sh b/src/gen_ui_xml.sh
new file mode 100755 (executable)
index 0000000..a570d79
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+# -copyright-
+#-# Copyright © 2021 Eric Bina, Dave Black, TJ Phan, 
+#-#    Vincent Renardias, Willem Vermin
+#-# 
+#-# Permission is hereby granted, free of charge, to any person 
+#-# obtaining a copy of this software and associated documentation 
+#-# files (the “Software”), to deal in the Software without 
+#-# restriction, including without limitation the rights to use, 
+#-# copy, modify, merge, publish, distribute, sublicense, and/or 
+#-# sell copies of the Software, and to permit persons to whom 
+#-# the Software is furnished to do so, subject to the following 
+#-# conditions:
+#-# 
+#-# The above copyright notice and this permission notice shall 
+#-# be included in all copies or substantial portions of the Software.
+#-# 
+#-# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, 
+#-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
+#-# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+#-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
+#-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
+#-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
+#-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
+#-# OTHER DEALINGS IN THE SOFTWARE.
+#-# 
+# create C code to get ui.xml in a string
+# ISO C stipulates that the length of a string constant should
+# not be larger than 4096, so we create a definition as in
+# char xpenguins_xml[] = {60,63,120,109,108,32,118,101,0};
+#
+root="${1:-..}"
+in="ui.xml"
+out="ui_xml.h"
+echo "/* This file is generated from '$in' by '$0' */" > "$out"
+echo "/* -copyright-" >> "$out"
+echo "*/" >> "$out"
+echo "#pragma once" >> "$out"
+echo "char xfishtank_xml[] = {" >> "$out"
+sed 's/^ *//' "$root/src/$in" | awk -v FS="" \
+   'BEGIN{for(n=0;n<256;n++)ord[sprintf("%c",n)]=n;}
+   {for (i=1;i<=NF;i++) printf "%d,", ord[$i];
+      printf "%d,\n",ord["\n"];}' >> "$out"
+echo "0};">> "$out" 
+if [ -x "$root/addcopyright.sh" ] ; then "$root/addcopyright.sh" "$out" ; fi
This page took 0.010346 seconds and 4 git commands to generate.