aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Peppe <rogpeppe@gmail.com>2010-01-05 09:20:02 -0800
committerRuss Cox <rsc@golang.org>2010-01-05 09:20:02 -0800
commit0281b715804ce5e4040729d904d41b0da0969ca5 (patch)
tree5dfced6c1d45f83b24bf30763f6b83d33579367c
parent30e5ed249d2ee5d4ae3703638358a2d0224e0f01 (diff)
downloadgo-0281b715804ce5e4040729d904d41b0da0969ca5.tar.gz
go-0281b715804ce5e4040729d904d41b0da0969ca5.zip
net: make Dial correctly return nil on error.
R=rsc CC=golang-dev https://golang.org/cl/181135
-rw-r--r--src/pkg/net/net.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/pkg/net/net.go b/src/pkg/net/net.go
index 5e6ba8c201..2f145a72cb 100644
--- a/src/pkg/net/net.go
+++ b/src/pkg/net/net.go
@@ -134,7 +134,11 @@ func Dial(net, laddr, raddr string) (c Conn, err os.Error) {
goto Error
}
}
- return DialTCP(net, la, ra)
+ c, err := DialTCP(net, la, ra)
+ if err != nil {
+ return nil, err
+ }
+ return c, nil
case "udp", "udp4", "upd6":
var la, ra *UDPAddr
if laddr != "" {
@@ -147,7 +151,11 @@ func Dial(net, laddr, raddr string) (c Conn, err os.Error) {
goto Error
}
}
- return DialUDP(net, la, ra)
+ c, err := DialUDP(net, la, ra)
+ if err != nil {
+ return nil, err
+ }
+ return c, nil
case "unix", "unixgram":
var la, ra *UnixAddr
if raddr != "" {
@@ -160,7 +168,11 @@ func Dial(net, laddr, raddr string) (c Conn, err os.Error) {
goto Error
}
}
- return DialUnix(net, la, ra)
+ c, err = DialUnix(net, la, ra)
+ if err != nil {
+ return nil, err
+ }
+ return c, nil
}
err = UnknownNetworkError(net)
Error: