summaryrefslogtreecommitdiff
path: root/xD-gen-replies.awk
diff options
context:
space:
mode:
Diffstat (limited to 'xD-gen-replies.awk')
-rwxr-xr-xxD-gen-replies.awk29
1 files changed, 29 insertions, 0 deletions
diff --git a/xD-gen-replies.awk b/xD-gen-replies.awk
new file mode 100755
index 0000000..c9e8882
--- /dev/null
+++ b/xD-gen-replies.awk
@@ -0,0 +1,29 @@
+#!/usr/bin/awk -f
+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 "};"
+}