From 3b69ac96d5e48ac40f61062c4f20719cd53c3084 Mon Sep 17 00:00:00 2001 From: Simon Waldherr Date: Sun, 28 Apr 2019 16:35:16 +0200 Subject: [PATCH] fix error handling --- cmd/zplgfa/main.go | 15 +++++++++------ cmd/zplgfa/network.go | 9 +++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/cmd/zplgfa/main.go b/cmd/zplgfa/main.go index eadbaf3..d174b85 100644 --- a/cmd/zplgfa/main.go +++ b/cmd/zplgfa/main.go @@ -21,36 +21,39 @@ import ( func specialCmds(zebraCmdFlag, networkIpFlag, networkPortFlag string) bool { var cmdSent bool - if strings.Contains(zebraCmdFlag, "cancel") && networkIpFlag != "" { + if networkIpFlag == "" { + return cmdSent + } + if strings.Contains(zebraCmdFlag, "cancel") { if err := sendCancelCmdToZebra(networkIpFlag, networkPortFlag); err == nil { cmdSent = true } } - if strings.Contains(zebraCmdFlag, "calib") && networkIpFlag != "" { + if strings.Contains(zebraCmdFlag, "calib") { if err := sendCalibCmdToZebra(networkIpFlag, networkPortFlag); err == nil { cmdSent = true } } - if strings.Contains(zebraCmdFlag, "feed") && networkIpFlag != "" { + if strings.Contains(zebraCmdFlag, "feed") { if err := sendFeedCmdToZebra(networkIpFlag, networkPortFlag); err == nil { cmdSent = true } } - if strings.Contains(zebraCmdFlag, "info") && networkIpFlag != "" { + if strings.Contains(zebraCmdFlag, "info") { info, err := getInfoFromZebra(networkIpFlag, networkPortFlag) if err == nil { fmt.Println(info) cmdSent = true } } - if strings.Contains(zebraCmdFlag, "config") && networkIpFlag != "" { + if strings.Contains(zebraCmdFlag, "config") { info, err := getConfigFromZebra(networkIpFlag, networkPortFlag) if err == nil { fmt.Println(info) cmdSent = true } } - if strings.Contains(zebraCmdFlag, "diag") && networkIpFlag != "" { + if strings.Contains(zebraCmdFlag, "diag") { info, err := getDiagFromZebra(networkIpFlag, networkPortFlag) if err == nil { fmt.Println(info) diff --git a/cmd/zplgfa/network.go b/cmd/zplgfa/network.go index 84de893..76fc41c 100644 --- a/cmd/zplgfa/network.go +++ b/cmd/zplgfa/network.go @@ -9,6 +9,9 @@ import ( func sendDataToZebra(ip, port, str string) error { tcpAddr, err := net.ResolveTCPAddr("tcp", ip+":"+port) + if err != nil { + return err + } conn, err := net.DialTCP("tcp4", nil, tcpAddr) if err == nil { defer conn.Close() @@ -34,6 +37,9 @@ func sendCancelCmdToZebra(ip, port string) error { func getInfoFromZebra(ip, port string) (string, error) { tcpAddr, err := net.ResolveTCPAddr("tcp", ip+":"+port) + if err != nil { + return "", err + } conn, err := net.DialTCP("tcp4", nil, tcpAddr) if err == nil { defer conn.Close() @@ -70,6 +76,9 @@ func getTerminalOutputFromZebra(ip, port, cmd string) (string, error) { var config string var lastInput time.Time tcpAddr, err := net.ResolveTCPAddr("tcp", ip+":"+port) + if err != nil { + return "", err + } conn, err := net.DialTCP("tcp4", nil, tcpAddr) if err == nil { defer conn.Close()