diff options
author | Přemysl Janouch <p.janouch@gmail.com> | 2014-08-10 00:47:26 +0200 |
---|---|---|
committer | Přemysl Janouch <p.janouch@gmail.com> | 2014-08-10 00:47:26 +0200 |
commit | 126c07b70a7f3217845ffbdf2a001af355755d7c (patch) | |
tree | 18dd0b8caa0b2b7a46dcd2d1044a5b0f5393d065 /kike-gen-replies.sh | |
parent | bd68e28b608fb74bb4823726b9f0bf6489ad94b5 (diff) | |
download | xK-126c07b70a7f3217845ffbdf2a001af355755d7c.tar.gz xK-126c07b70a7f3217845ffbdf2a001af355755d7c.tar.xz xK-126c07b70a7f3217845ffbdf2a001af355755d7c.zip |
kike: generate replies from a single text file
It became a bit difficult to maintain two separate lists. Besides, the inverse
generation of a message catalog from source code was a bit strange.
Diffstat (limited to 'kike-gen-replies.sh')
-rwxr-xr-x | kike-gen-replies.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/kike-gen-replies.sh b/kike-gen-replies.sh new file mode 100755 index 0000000..7318608 --- /dev/null +++ b/kike-gen-replies.sh @@ -0,0 +1,28 @@ +#!/bin/sh +LC_ALL=C exec awk ' + BEGIN { + # The message catalog is a byproduct + msg = "kike.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 "};" + }' |