diff options
author | Přemysl Janouch <p.janouch@gmail.com> | 2014-07-14 20:39:01 +0200 |
---|---|---|
committer | Přemysl Janouch <p.janouch@gmail.com> | 2014-07-14 22:15:56 +0200 |
commit | cc4ca46cc3cf447c26bf72fa88268ad970bccbff (patch) | |
tree | abb53a86d7941074e32deff9ae493e8563461ebc | |
parent | b58ee27362ac285e3839ed051f4319118280ad5a (diff) | |
download | xK-cc4ca46cc3cf447c26bf72fa88268ad970bccbff.tar.gz xK-cc4ca46cc3cf447c26bf72fa88268ad970bccbff.tar.xz xK-cc4ca46cc3cf447c26bf72fa88268ad970bccbff.zip |
Add a utility to extract a message catalogs
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 9 | ||||
-rwxr-xr-x | kike-extract-messages.sh | 15 |
3 files changed, 23 insertions, 2 deletions
@@ -1,6 +1,7 @@ # Build files /zyklonb /kike +/kike.msg # Qt Creator files /ZyklonB.* @@ -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); + }' |