#! /usr/bin/awk -f # # Copyright © Adrian Perez # # Converts an HTML template into a C header suitable for inclusion. # Take a look at the HACKING.rst file to know how to use it :-) # # This code is placed in the public domain. BEGIN { varname = 0; print "/* Automagically generated, do not edit! */" vars_count = 0; } /^$/ { if (varname) print ";"; if ($3 == "NONE") { varname = 0; next; } varname = $3; vars[vars_count++] = varname; print "static const u_char " varname "[] = \"\""; next; } /^$/ { if (!varname) next; print "\"\\n\""; next; } { if (!varname) next; # Order matters gsub(/[\t\v\n\r\f]+/, ""); gsub(/\\/, "\\\\"); gsub(/"/, "\\\""); print "\"" $0 "\"" } END { if (varname) print ";"; print "#define NFI_TEMPLATE_SIZE (0 \\"; for (var in vars) { print "\t+ nfi_sizeof_ssz(" vars[var] ") \\"; } print "\t)" }