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); + }'