From ac0703bbe6603cdde357511c59dfde177e2da8bd Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Thu, 25 Jul 2013 08:32:10 +0100 Subject: [PATCH] Handle MixCase queries again. Thanks Ask for reporting. --- server.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server.go b/server.go index 27096e9c..5314138b 100644 --- a/server.go +++ b/server.go @@ -168,10 +168,15 @@ func (mux *ServeMux) match(q string, t uint16) Handler { mux.m.RLock() defer mux.m.RUnlock() var handler Handler + b := make([]byte, len(q)) // worst case, one label of length q off := 0 end := false for { - if h, ok := mux.z[q[off:]]; ok { + l := len(q[off:]) + for i := 0; i < l; i++ { + b[i] = q[off+i] | ( 'a' - 'A') + } + if h, ok := mux.z[string(b[:l])]; ok { // 'causes garbage, might want to change the map key if t != TypeDS { return h } else {