Browse Source

ApplyGateWay bug fix

cuu 5 years ago
parent
commit
6ccb04ce06
2 changed files with 21 additions and 4 deletions
  1. 5 4
      Menu/GameShell/10_Settings/GateWay/gateway_page.go
  2. 16 0
      sysgo/UI/util_funcs.go

+ 5 - 4
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)  )

+ 16 - 0
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")
+}