summaryrefslogtreecommitdiff
path: root/pkg/server/cmds.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/server/cmds.go')
-rw-r--r--pkg/server/cmds.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/pkg/server/cmds.go b/pkg/server/cmds.go
index e383dac..6eabbde 100644
--- a/pkg/server/cmds.go
+++ b/pkg/server/cmds.go
@@ -26,10 +26,15 @@ func newNode() *node {
return &node{m: map[string]*node{}}
}
-func newCmd(f func (r *request), path ...string) {
+func newCmd(f func (r *request), where string) {
+ path := strings.Split(where, " ")
node := cmds
for _, name := range path {
+ if name == "" {
+ panic("invalid command path")
+ }
+
v := node.m[name]
if v == nil {
v = newNode()
@@ -40,12 +45,11 @@ func newCmd(f func (r *request), path ...string) {
}
if node.c != nil {
- s := strings.Join(path, " ")
- log.Panicf("handler already registered at '%s'", s)
+ log.Panicf("handler already registered at '%s'", where)
}
node.c = &cmd{
- name: strings.Join(path, " "),
+ name: where,
f: f,
}
}