Use 2 result type assertions

master
anon5 2021-01-19 17:57:58 +00:00
parent bbca924ef0
commit 8db215a1c8
5 changed files with 21 additions and 37 deletions

View File

@ -2,10 +2,8 @@ package multiserver
import (
"encoding/binary"
"fmt"
"log"
"net"
"os"
"github.com/anon55555/mt/rudp"
)
@ -130,12 +128,11 @@ func (p *Peer) fetchMedia() {
}
func (p *Peer) announceMedia() {
srvnamekey := GetConfKey("default_server")
if srvnamekey == nil || fmt.Sprintf("%T", srvnamekey) != "string" {
srvname, ok := GetConfKey("default_server").(string)
if !ok {
log.Print("Default server name not set or not a string")
return
}
srvname := srvnamekey.(string)
for _, def := range tooldefs {
data := make([]byte, 2+len(def))
@ -315,13 +312,11 @@ func init() {
srvaddr, err := net.ResolveUDPAddr("udp", straddr.(string))
if err != nil {
log.Fatal(err)
os.Exit(1)
}
conn, err := net.DialUDP("udp", nil, srvaddr)
if err != nil {
log.Fatal(err)
os.Exit(1)
}
srv, err := Connect(conn, conn.RemoteAddr())

View File

@ -1,7 +1,6 @@
package main
import (
"fmt"
"log"
"strings"
@ -179,9 +178,9 @@ func init() {
}
reqprivs := make(map[string]bool)
reqpriv := multiserver.GetConfKey("servers:" + param + ":priv")
if reqpriv != nil && fmt.Sprintf("%T", reqpriv) == "string" {
reqprivs[reqpriv.(string)] = true
reqpriv, ok := multiserver.GetConfKey("servers:" + param + ":priv").(string)
if ok {
reqprivs[reqpriv] = true
}
allow, err := p.CheckPrivs(reqprivs)
@ -192,7 +191,7 @@ func init() {
}
if !allow {
p.SendChatMsg("You do not have permission to join this server! Required privilege: " + reqpriv.(string))
p.SendChatMsg("You do not have permission to join this server! Required privilege: " + reqpriv)
return
}

View File

@ -5,7 +5,6 @@ media multiplexing
package main
import (
"fmt"
"log"
"net"
"time"
@ -16,38 +15,33 @@ import (
)
func main() {
defaultSrv := multiserver.GetConfKey("default_server")
if defaultSrv == nil || fmt.Sprintf("%T", defaultSrv) != "string" {
defaultSrv, ok := multiserver.GetConfKey("default_server").(string)
if !ok {
log.Fatal("Default server name not set or not a string")
return
}
defaultSrvAddr := multiserver.GetConfKey("servers:" + defaultSrv.(string) + ":address")
if defaultSrvAddr == nil || fmt.Sprintf("%T", defaultSrvAddr) != "string" {
defaultSrvAddr, ok := multiserver.GetConfKey("servers:" + defaultSrv + ":address").(string)
if !ok {
log.Fatal("Default server address not set or not a string")
return
}
host := multiserver.GetConfKey("host")
if host == nil || fmt.Sprintf("%T", host) != "string" {
host, ok := multiserver.GetConfKey("host").(string)
if !ok {
log.Fatal("Host not set or not a string")
return
}
srvaddr, err := net.ResolveUDPAddr("udp", defaultSrvAddr.(string))
srvaddr, err := net.ResolveUDPAddr("udp", defaultSrvAddr)
if err != nil {
log.Fatal(err)
return
}
lc, err := net.ListenPacket("udp", host.(string))
lc, err := net.ListenPacket("udp", host)
if err != nil {
log.Fatal(err)
return
}
defer lc.Close()
log.Print("Listening on " + host.(string))
log.Print("Listening on " + host)
l := multiserver.Listen(lc)
multiserver.SetListener(l)
@ -63,7 +57,6 @@ func main() {
conn, err := net.DialUDP("udp", nil, srvaddr)
if err != nil {
log.Fatal(err)
return
}
srv, err := multiserver.Connect(conn, conn.RemoteAddr())

View File

@ -2,7 +2,6 @@ package multiserver
import (
"database/sql"
"fmt"
"log"
"strings"
@ -167,15 +166,14 @@ func (p *Peer) CheckPrivs(req map[string]bool) (bool, error) {
}
func init() {
admin := GetConfKey("admin")
if admin != nil || fmt.Sprintf("%T", admin) == "string" {
if admin, ok := GetConfKey("admin").(string); ok {
db, err := initAuthDB()
if err != nil {
log.Print(err)
return
}
eprivs, err := readPrivItem(db, admin.(string))
eprivs, err := readPrivItem(db, admin)
if err != nil {
log.Print(err)
return
@ -186,6 +184,6 @@ func init() {
newprivs := encodePrivs(privs)
modPrivItem(db, admin.(string), newprivs)
modPrivItem(db, admin, newprivs)
}
}

View File

@ -3,7 +3,6 @@ package multiserver
import (
"encoding/binary"
"errors"
"fmt"
"log"
"net"
@ -36,8 +35,8 @@ func (p *Peer) Redirect(newsrv string) error {
defer processRedirectDone(p, newsrv)
straddr := GetConfKey("servers:" + newsrv + ":address")
if straddr == nil || fmt.Sprintf("%T", straddr) != "string" {
straddr, ok := GetConfKey("servers:" + newsrv + ":address").(string)
if !ok {
return ErrServerDoesNotExist
}
@ -45,7 +44,7 @@ func (p *Peer) Redirect(newsrv string) error {
return ErrAlreadyConnected
}
srvaddr, err := net.ResolveUDPAddr("udp", straddr.(string))
srvaddr, err := net.ResolveUDPAddr("udp", straddr)
if err != nil {
return err
}