From 6ccb04ce06a4ef18b97d1ba65927173aecc39700 Mon Sep 17 00:00:00 2001 From: cuu Date: Tue, 8 Jan 2019 22:29:20 +0800 Subject: [PATCH] ApplyGateWay bug fix --- .../10_Settings/GateWay/gateway_page.go | 9 +++++---- sysgo/UI/util_funcs.go | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Menu/GameShell/10_Settings/GateWay/gateway_page.go b/Menu/GameShell/10_Settings/GateWay/gateway_page.go index c01b2c7..72c923d 100644 --- a/Menu/GameShell/10_Settings/GateWay/gateway_page.go +++ b/Menu/GameShell/10_Settings/GateWay/gateway_page.go @@ -271,15 +271,16 @@ func (self *GateWayPage) ApplyGateWay( gateway string ) bool { out := UI.System("sudo ifconfig usb0 | grep inet | tr -s \" \"| cut -d \" \" -f3") if len(out) > 7 { if strings.Contains(out,"error") == false { + out = strings.Trim(out,"\r\n ") parts := strings.Split(out,".") if len(parts) == 4 { // IPv4 tmp,err := strconv.Atoi(parts[3]) if err == nil { - tmp = tmp +1 - if tmp > 255 { - tmp = 255 + if tmp == 0 { + tmp = tmp +1 + }else if tmp > 0 { + tmp = tmp -1 } - parts[3] = strconv.Itoa(tmp) ipaddress := strings.Join(parts,".") UI.System( fmt.Sprintf("sudo route add default gw %s",ipaddress) ) diff --git a/sysgo/UI/util_funcs.go b/sysgo/UI/util_funcs.go index 05258a4..21400b8 100644 --- a/sysgo/UI/util_funcs.go +++ b/sysgo/UI/util_funcs.go @@ -259,3 +259,19 @@ func System(cmd string) string { return ret } + +func SystemTrim(cmd string) string { + ret := "" + out,err := exec.Command("bash","-c",cmd).Output() + if err != nil { + if _, ok := err.(*exec.ExitError); ok { + //exit code !=0 ,but it can be ignored + }else{ + fmt.Println(err) + } + }else { + ret = string(out) + } + + return strings.Trim(ret,"\r\n") +}