summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2014-07-14 20:39:01 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2014-07-14 22:15:56 +0200
commitcc4ca46cc3cf447c26bf72fa88268ad970bccbff (patch)
treeabb53a86d7941074e32deff9ae493e8563461ebc
parentb58ee27362ac285e3839ed051f4319118280ad5a (diff)
downloadxK-cc4ca46cc3cf447c26bf72fa88268ad970bccbff.tar.gz
xK-cc4ca46cc3cf447c26bf72fa88268ad970bccbff.tar.xz
xK-cc4ca46cc3cf447c26bf72fa88268ad970bccbff.zip
Add a utility to extract a message catalogs
-rw-r--r--.gitignore1
-rw-r--r--Makefile9
-rwxr-xr-xkike-extract-messages.sh15
3 files changed, 23 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 358d4ec..57cf17a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
# Build files
/zyklonb
/kike
+/kike.msg
# Qt Creator files
/ZyklonB.*
diff --git a/Makefile b/Makefile
index db6d657..59be4bf 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,14 @@
SHELL = /bin/sh
CC = clang
-CFLAGS = -ggdb -Wall -Wextra -std=c99
+# -Wunused-function is pretty annoying here, as everything is static and not
+# all parts of common.c are used in all the executables
+CFLAGS = -ggdb -Wall -Wextra -std=c99 -Wno-unused-function
# -lpthread is only there for debugging (gdb & errno)
LDFLAGS = `pkg-config --libs libssl` -lpthread
.PHONY: all clean
-targets = zyklonb kike
+targets = zyklonb kike kike.msg
all: $(targets)
@@ -15,6 +17,9 @@ clean:
zyklonb: src/zyklonb.c src/common.c src/siphash.c
$(CC) src/zyklonb.c src/siphash.c -o $@ $(CFLAGS) $(LDFLAGS)
+
kike: src/kike.c src/common.c src/siphash.c
$(CC) src/kike.c src/siphash.c -o $@ $(CFLAGS) $(LDFLAGS)
+kike.msg: src/kike.c
+ $(SHELL) kike-extract-messages.sh < $< > $@
diff --git a/kike-extract-messages.sh b/kike-extract-messages.sh
new file mode 100755
index 0000000..9438695
--- /dev/null
+++ b/kike-extract-messages.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+LC_ALL=C exec awk '
+ BEGIN {
+ print "$quote \"";
+ print "$set 1";
+ }
+ /^\tIRC_(ERR|RPL)_[A-Z]+ *= *[0-9]+,?$/ {
+ match($3, /^[0-9]+/);
+ id[$1] = substr($3, RSTART, RLENGTH);
+ }
+ /^\t\[IRC_(ERR|RPL)_[A-Z]+\] *= *".*",?$/ {
+ z = substr($1, 2, length($1) - 2);
+ match($0, /".*"/);
+ print id[z] " " substr($0, RSTART, RLENGTH);
+ }'