diff options
| author | Přemysl Eric Janouch <p@janouch.name> | 2022-08-29 06:02:54 +0200 | 
|---|---|---|
| committer | Přemysl Eric Janouch <p@janouch.name> | 2022-08-29 06:07:49 +0200 | 
| commit | ecebeace0ea28f243045bdee1002530028846fe8 (patch) | |
| tree | 20b4408449d312ae55eff3ecc2afd4b222dc84ae /xD-gen-replies.awk | |
| parent | ca33adeeeee56262b95a6ff1339227bfc90e0a82 (diff) | |
| download | xK-ecebeace0ea28f243045bdee1002530028846fe8.tar.gz xK-ecebeace0ea28f243045bdee1002530028846fe8.tar.xz xK-ecebeace0ea28f243045bdee1002530028846fe8.zip  | |
Don't wrap xD-gen-replies in a shell script
AWK doesn't seem to be that friendly to shebangs, so let env,
also required for changing LC_ALL, locate it in PATH.
Diffstat (limited to 'xD-gen-replies.awk')
| -rwxr-xr-x | xD-gen-replies.awk | 29 | 
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 "};" +}  | 
