Browse Source

use net.SplitHostPort instead of strings.Split

Burke Libbey 12 years ago
parent
commit
24faa7d6f3
1 changed files with 5 additions and 6 deletions
  1. 5 6
      broker.go

+ 5 - 6
broker.go

@@ -5,7 +5,6 @@ import (
 	"io"
 	"io"
 	"net"
 	"net"
 	"strconv"
 	"strconv"
-	"strings"
 	"sync"
 	"sync"
 )
 )
 
 
@@ -277,18 +276,18 @@ func (b *Broker) decode(pd packetDecoder) (err error) {
 
 
 func (b *Broker) encode(pe packetEncoder) (err error) {
 func (b *Broker) encode(pe packetEncoder) (err error) {
 
 
-	parts := strings.Split(b.addr, ":")
-	if len(parts) != 2 {
-		return fmt.Errorf("invalid addr")
+	host, portstr, err := net.SplitHostPort(b.addr)
+	if err != nil {
+		return err
 	}
 	}
-	port, err := strconv.Atoi(parts[1])
+	port, err := strconv.Atoi(portstr)
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
 
 
 	pe.putInt32(b.id)
 	pe.putInt32(b.id)
 
 
-	err = pe.putString(parts[0])
+	err = pe.putString(host)
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}