]> source.dussan.org Git - tigervnc.git/commitdiff
Fix display/port switch at display 100
authorPierre Ossman <ossman@cendio.se>
Mon, 11 Jul 2016 07:44:14 +0000 (09:44 +0200)
committerPierre Ossman <ossman@cendio.se>
Mon, 11 Jul 2016 11:42:00 +0000 (13:42 +0200)
168b92c broke the handling that assumes display 100 and above are
actually a port number.

(cherry picked from commit 7caaea10402e3d00d2e1c2e6d233b64b0a71273a)

common/rfb/Hostname.h

index 02c51a6128f2ee045c0a3cb1bf38cc68d96aeb2f..bd68dc0210119adb71a0eb0180403fdf00126d17 100644 (file)
@@ -84,17 +84,14 @@ namespace rfb {
         throw rdr::Exception("invalid port specified");
 
       if (portStart[1] != ':')
-        portStart += 1;
-      else {
-        portStart += 2;
-        basePort = 0;
-      }
-
-      *port = strtol(portStart, &end, 10);
+        *port = strtol(portStart + 1, &end, 10);
+      else
+        *port = strtol(portStart + 2, &end, 10);
       if (*end != '\0')
         throw rdr::Exception("invalid port specified");
 
-      *port += basePort;
+      if ((portStart[1] != ':') && (*port < 100))
+        *port += basePort;
     }
   }