aliases.awk (1132B)
- BEGIN {
- print "static parserutils_charset_aliases_canon canonical_charset_names[] = {"
- n = 0
- }
- /^(#|$)/ {next}
- function addalias(s) {
- s = tolower(s)
- gsub("[^a-z0-9]", "", s)
- if (!(s in aliases))
- ++num_aliases
- aliases[s] = n
- }
- {
- print "\t{ "$2", "length($1)", \""$1"\" },"
- addalias($1)
- for (i = 3; i <= NF; ++i)
- addalias($i)
- if ($1 ~ /^ISO-10646-UCS-[24]$/ || $1 ~ /^UTF-(8$|16|32)/)
- isunicode = (isunicode ? (isunicode" || ") : "") "((x) == "$2")"
- ++n
- }
- END {
- print "};"
- print "static const uint16_t charset_aliases_canon_count = "n";"
- print "typedef struct {"
- print "\tuint16_t name_len;"
- print "\tconst char *name;"
- print "\tparserutils_charset_aliases_canon *canon;"
- print "} parserutils_charset_aliases_alias;"
- print "static parserutils_charset_aliases_alias charset_aliases[] = {"
- for (alias in aliases) {
- i = aliases[alias]
- print "\t{ "length(alias)", \""alias"\", &canonical_charset_names["i"] }," | "sort -t '\"' -k 2"
- }
- close("sort -t '\"' -k 2")
- print "};"
- print "static const uint16_t charset_aliases_count = "num_aliases";"
- print "#define MIBENUM_IS_UNICODE(x) ("isunicode")"
- }