aboutsummaryrefslogtreecommitdiff
path: root/run.go
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2022-05-02 21:57:38 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2022-05-02 21:57:38 +0200
commitce203b8f18424ef17710c7b9795e8c65aef32ea6 (patch)
treee73aa2ba3ed7b9fea9a3f1c3ff06f4b0bde75ee2 /run.go
parentc32739ab924021009338f27833fda7f67d660979 (diff)
Store servers in a map
Closes #100
Diffstat (limited to 'run.go')
-rw-r--r--run.go20
1 files changed, 12 insertions, 8 deletions
diff --git a/run.go b/run.go
index f7c1d72..794a299 100644
--- a/run.go
+++ b/run.go
@@ -100,19 +100,23 @@ func runFunc() {
<-cc.Init()
cc.Log("<->", "handshake completed")
- srvs := Conf().Servers
- if len(srvs) == 0 {
+ conf := Conf()
+ if len(conf.Servers) == 0 {
cc.Log("<-", "no servers")
cc.Kick("No servers are configured.")
return
}
- srv := srvs[0]
+ srv := conf.DefaultSrv()
+ srvName := conf.DefaultSrvName()
+
lastSrv, err := authIface.LastSrv(cc.Name())
- if err == nil && !Conf().ForceDefaultSrv && lastSrv != srv.Name {
- for _, v := range srvs {
- if v.Name == lastSrv {
- srv = v
+ if err == nil && !Conf().ForceDefaultSrv && lastSrv != srvName {
+ for name, s := range conf.Servers {
+ if name == lastSrv {
+ srv = s
+ srvName = name
+
break
}
}
@@ -132,7 +136,7 @@ func runFunc() {
return
}
- connect(conn, srv.Name, cc)
+ connect(conn, srvName, cc)
}()
}