diff options
-rwxr-xr-x | xS/hid-gen-replies.sh | 16 | ||||
-rw-r--r-- | xS/main.go | 19 | ||||
-rwxr-xr-x | xS/xS-gen-replies.awk | 16 | ||||
-rw-r--r-- | xS/xS-replies (renamed from xS/hid-replies) | 0 |
4 files changed, 25 insertions, 26 deletions
diff --git a/xS/hid-gen-replies.sh b/xS/hid-gen-replies.sh deleted file mode 100755 index c32b000..0000000 --- a/xS/hid-gen-replies.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -LC_ALL=C exec awk ' - /^[0-9]+ *(ERR|RPL)_[A-Z]+ *".*"$/ { - match($0, /".*"/); - ids[$1] = $2; - texts[$2] = substr($0, RSTART, RLENGTH); - } - END { - print "package " ENVIRON["GOPACKAGE"] "\n\nconst (" - for (i in ids) - printf("\t%s = %s\n", ids[i], i) - print ")\n\nvar defaultReplies = map[int]string{" - for (i in ids) - print "\t" ids[i] ": " texts[ids[i]] "," - print "}" - }' @@ -13,7 +13,7 @@ // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. // -// hid is a straight-forward port of xD IRCd from C. +// xS is a straight-forward port of xD IRCd from C. package main import ( @@ -43,7 +43,7 @@ import ( var debugMode = false const ( - projectName = "hid" + projectName = "xS" // TODO: Consider using the same version number for all subprojects. projectVersion = "0" ) @@ -162,15 +162,14 @@ func splitString(s, delims string, ignoreEmpty bool) (result []string) { return } -// // Trivial SSL/TLS autodetection. The first block of data returned by Recvfrom // must be at least three octets long for this to work reliably, but that should // not pose a problem in practice. We might try waiting for them. // -// SSL2: 1xxx xxxx | xxxx xxxx | <1> -// (message length) (client hello) -// SSL3/TLS: <22> | <3> | xxxx xxxx -// (handshake)| (protocol version) +// SSL2: 1xxx xxxx | xxxx xxxx | <1> +// (message length) (client hello) +// SSL3/TLS: <22> | <3> | xxxx xxxx +// (handshake)| (protocol version) // // Note that Go 1.12's crypto/tls offers a slightly more straight-forward // solution: "If a client sends an initial message that does not look like TLS, @@ -383,7 +382,7 @@ func simpleConfigWriteDefault(pathHint string, prolog string, return writeConfigurationFile(pathHint, data) } -/// Convenience wrapper suitable for most simple applications. +// Convenience wrapper suitable for most simple applications. func callSimpleConfigWriteDefault(pathHint string, table []simpleConfigItem) { prologLines := []string{ `# ` + projectName + ` ` + projectVersion + ` configuration file`, @@ -461,7 +460,7 @@ func (fd *floodDetector) check() bool { // --- IRC protocol ------------------------------------------------------------ -//go:generate sh -c "./hid-gen-replies.sh > hid-replies.go < hid-replies" +//go:generate sh -c "LC_ALL=C awk -f xS-gen-replies.awk > xS-replies.go < xS-replies" func ircToLower(c byte) byte { switch c { @@ -1201,7 +1200,7 @@ func (c *client) sendReply(id int, args ...interface{}) { c.send(c.makeReply(id, args...)) } -/// Send a space-separated list of words across as many replies as needed. +// Send a space-separated list of words across as many replies as needed. func (c *client) sendReplyVector(id int, items []string, args ...interface{}) { common := c.makeReply(id, args...) diff --git a/xS/xS-gen-replies.awk b/xS/xS-gen-replies.awk new file mode 100755 index 0000000..fce7b50 --- /dev/null +++ b/xS/xS-gen-replies.awk @@ -0,0 +1,16 @@ +#!/usr/bin/awk -f +/^[0-9]+ *(ERR|RPL)_[A-Z]+ *".*"$/ { + match($0, /".*"/); + ids[$1] = $2; + texts[$2] = substr($0, RSTART, RLENGTH); +} + +END { + print "package " ENVIRON["GOPACKAGE"] "\n\nconst (" + for (i in ids) + printf("\t%s = %s\n", ids[i], i) + print ")\n\nvar defaultReplies = map[int]string{" + for (i in ids) + print "\t" ids[i] ": " texts[ids[i]] "," + print "}" +} diff --git a/xS/hid-replies b/xS/xS-replies index c539520..c539520 100644 --- a/xS/hid-replies +++ b/xS/xS-replies |