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

View File

@ -1,7 +1,6 @@
package main package main
import ( import (
"fmt"
"log" "log"
"strings" "strings"
@ -179,9 +178,9 @@ func init() {
} }
reqprivs := make(map[string]bool) reqprivs := make(map[string]bool)
reqpriv := multiserver.GetConfKey("servers:" + param + ":priv") reqpriv, ok := multiserver.GetConfKey("servers:" + param + ":priv").(string)
if reqpriv != nil && fmt.Sprintf("%T", reqpriv) == "string" { if ok {
reqprivs[reqpriv.(string)] = true reqprivs[reqpriv] = true
} }
allow, err := p.CheckPrivs(reqprivs) allow, err := p.CheckPrivs(reqprivs)
@ -192,7 +191,7 @@ func init() {
} }
if !allow { 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 return
} }

View File

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

View File

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

View File

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