]> Cypherpunks repositories - gostls13.git/commitdiff
net: restore LookupPort for integer strings
authorRuss Cox <rsc@golang.org>
Tue, 25 Aug 2015 15:25:46 +0000 (11:25 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 27 Aug 2015 16:17:21 +0000 (16:17 +0000)
This worked in Go 1.4 but was lost in the "pure Go" lookup
routines substituted late in the Go 1.5 cycle.

Fixes #12263.

Change-Id: I77ec9d97cd8e67ace99d6ac965e5bc16c151ba83
Reviewed-on: https://go-review.googlesource.com/13915
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/net/lookup.go
src/net/port_test.go

index a7ceee823f17592e23a0cbeac406f92e2e24fb7b..9008322dc5a76fd9a401e6e08fb181b8a9d4a99a 100644 (file)
@@ -123,6 +123,9 @@ func lookupIPDeadline(host string, deadline time.Time) (addrs []IPAddr, err erro
 
 // LookupPort looks up the port for the given network and service.
 func LookupPort(network, service string) (port int, err error) {
+       if n, i, ok := dtoi(service, 0); ok && i == len(service) {
+               return n, nil
+       }
        return lookupPort(network, service)
 }
 
index 2dacd975e7ac86af7e19eb0d0a4b4e1a96e721e6..258a5bda48f263fbf8b27c3747e0826420a6b261 100644 (file)
@@ -27,6 +27,7 @@ var portTests = []struct {
        {"tcp", "time", 37, true},
        {"tcp", "domain", 53, true},
        {"tcp", "finger", 79, true},
+       {"tcp", "42", 42, true},
 
        {"udp", "echo", 7, true},
        {"udp", "tftp", 69, true},
@@ -36,6 +37,7 @@ var portTests = []struct {
        {"udp", "ntp", 123, true},
        {"udp", "snmp", 161, true},
        {"udp", "syslog", 514, true},
+       {"udp", "42", 42, true},
 
        {"--badnet--", "zzz", 0, false},
        {"tcp", "--badport--", 0, false},