diff options
Diffstat (limited to 'xD-gen-replies.sh')
-rwxr-xr-x | xD-gen-replies.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/xD-gen-replies.sh b/xD-gen-replies.sh new file mode 100755 index 0000000..0fcbbba --- /dev/null +++ b/xD-gen-replies.sh @@ -0,0 +1,28 @@ +#!/bin/sh +LC_ALL=C exec awk ' + BEGIN { + # The message catalog is a by-product + msg = "xD.msg" + print "$quote \"" > msg; + print "$set 1" > msg; + } + /^[0-9]+ *IRC_(ERR|RPL)_[A-Z]+ *".*"$/ { + match($0, /".*"/); + ids[$1] = $2; + texts[$2] = substr($0, RSTART, RLENGTH); + print $1 " " texts[$2] > msg + } + END { + printf("enum\n{") + for (i in ids) { + if (seen_first) + printf(",") + seen_first = 1 + printf("\n\t%s = %s", ids[i], i) + } + print "\n};\n" + print "static const char *g_default_replies[] =\n{" + for (i in ids) + print "\t[" ids[i] "] = " texts[ids[i]] "," + print "};" + }' |