Use compact if-with-assign statements where scoping allows

This commit is contained in:
Michael Bridgen committed 2014-10-28 15:38:53 +00:00
1 parent 126c36cffb
commit 96ce10a4d5
5 files changed
+20 -34

No files matched your search

+4 -9
View File
@@ -38,7 +38,6 @@ func ListenHttp(domain string, db Zone, port int) {
ident, weaveIPstr, err := parseUrl(r.URL.Path)
name := r.FormValue("fqdn")
localIPstr := r.FormValue("local_ip")
if ident == "" || weaveIPstr == "" || name == "" || localIPstr == "" {
reqError("Invalid request", "Invalid request: %s, %s", r.URL, r.Form)
return
@@ -58,10 +57,8 @@ func ListenHttp(domain string, db Zone, port int) {
if dns.IsSubDomain(domain, name) {
Info.Printf("Adding %s (%s) -> %s", name, localIPstr, weaveIPstr)
err = db.AddRecord(ident, name, localIP, weaveIP)
if err != nil {
dup, ok := err.(DuplicateError)
if !ok {
if err = db.AddRecord(ident, name, localIP, weaveIP); err != nil {
if dup, ok := err.(DuplicateError); !ok {
httpErrorAndLog(
Error, w, "Internal error", http.StatusInternalServerError,
"Unexpected error from DB: %s", err)
@@ -88,8 +85,7 @@ func ListenHttp(domain string, db Zone, port int) {
return
}
Info.Printf("Deleting %s (%s)", ident, weaveIPstr)
err = db.DeleteRecord(ident, weaveIP)
if err != nil {
if err = db.DeleteRecord(ident, weaveIP); err != nil {
if _, ok := err.(LookupError); !ok {
httpErrorAndLog(
Error, w, "Internal error", http.StatusInternalServerError,
@@ -105,8 +101,7 @@ func ListenHttp(domain string, db Zone, port int) {
})
address := fmt.Sprintf(":%d", port)
err := http.ListenAndServe(address, nil)
if err != nil {
if err := http.ListenAndServe(address, nil); err != nil {
Error.Fatal("Unable to create http listener: ", err)
}
}
+2 -4
View File
@@ -7,8 +7,7 @@ import (
)
func EnsureInterface(ifaceName string, wait int) (iface *net.Interface, err error) {
iface, err = findInterface(ifaceName)
if err == nil || wait == 0 {
if iface, err = findInterface(ifaceName); err == nil || wait == 0 {
return
}
Info.Println("Waiting for interface", ifaceName, "to come up")
@@ -23,8 +22,7 @@ func EnsureInterface(ifaceName string, wait int) (iface *net.Interface, err erro
}
func findInterface(ifaceName string) (iface *net.Interface, err error) {
iface, err = net.InterfaceByName(ifaceName)
if err != nil {
if iface, err = net.InterfaceByName(ifaceName); err != nil {
return iface, fmt.Errorf("Unable to find interface %s", ifaceName)
}
if 0 == (net.FlagUp & iface.Flags) {
+8 -10
View File
@@ -62,14 +62,14 @@ type mDNSQueryInfo struct {
}
func NewMDNSClient() (*MDNSClient, error) {
conn, err := net.ListenUDP("udp4", &net.UDPAddr{IP: net.IPv4zero, Port: 0})
if err != nil {
if conn, err := net.ListenUDP("udp4", &net.UDPAddr{IP: net.IPv4zero, Port: 0}); err != nil {
return nil, err
} else {
return &MDNSClient{
conn: conn,
addr: ipv4Addr,
inflight: make(map[string]*inflightQuery)}, nil
}
return &MDNSClient{
conn: conn,
addr: ipv4Addr,
inflight: make(map[string]*inflightQuery)}, nil
}
func (c *MDNSClient) Start(ifi *net.Interface) error {
@@ -96,8 +96,7 @@ func (c *MDNSClient) Start(ifi *net.Interface) error {
}
func LinkLocalMulticastListener(ifi *net.Interface) (net.PacketConn, error) {
conn, err := net.ListenMulticastUDP("udp", ifi, ipv4Addr)
return conn, err
return net.ListenMulticastUDP("udp", ifi, ipv4Addr)
}
// ACTOR client API
@@ -216,8 +215,7 @@ func (c *MDNSClient) handleSendQuery(q mDNSQueryInfo) {
name: q.name,
id: m.Id,
}
_, err = c.conn.WriteTo(buf, c.addr)
if err != nil {
if _, err = c.conn.WriteTo(buf, c.addr); err != nil {
q.responseCh <- &ResponseA{Err: err}
close(q.responseCh)
return
+3 -5
View File
@@ -17,9 +17,7 @@ func NewMDNSServer(zone Zone) (*MDNSServer, error) {
if err != nil {
return nil, err
}
retval := &MDNSServer{sendconn: sendconn, zone: zone}
return retval, nil
return &MDNSServer{sendconn: sendconn, zone: zone}, nil
}
// Return true if testaddr is a UDP address with IP matching my local i/f
@@ -41,8 +39,7 @@ func (s *MDNSServer) Start(ifi *net.Interface) error {
// Ignore answers to other questions
if len(r.Answer) == 0 && len(r.Question) > 0 {
q := r.Question[0]
ip, err := s.zone.MatchLocal(q.Name)
if err == nil {
if ip, err := s.zone.MatchLocal(q.Name); err == nil {
m := makeAReply(r, &q, []net.IP{ip})
s.SendResponse(m)
} else if s.addrIsLocal(w.RemoteAddr()) {
@@ -57,6 +54,7 @@ func (s *MDNSServer) Start(ifi *net.Interface) error {
if err != nil {
return err
}
if ifi == nil {
s.localAddrs, err = net.InterfaceAddrs()
} else {
+3 -6
View File
@@ -39,8 +39,7 @@ func queryHandler(zone Zone, mdnsClient *MDNSClient) dns.HandlerFunc {
q := r.Question[0]
Debug.Printf("Local query: %+v", q)
if q.Qtype == dns.TypeA {
ip, err := zone.MatchLocal(q.Name)
if err == nil {
if ip, err := zone.MatchLocal(q.Name); err == nil {
m := makeAReply(r, &q, []net.IP{ip})
w.WriteMsg(m)
} else {
@@ -81,8 +80,7 @@ func rdnsHandler(zone Zone, mdnsClient *MDNSClient) dns.HandlerFunc {
ip4 := ip.To4()
revIP := []byte{ip4[3], ip4[2], ip4[1], ip4[0]}
Debug.Printf("Looking for address: %+v", revIP)
name, err := zone.MatchLocalIP(revIP)
if err == nil {
if name, err := zone.MatchLocalIP(revIP); err == nil {
Debug.Printf("Found name: %s", name)
m := makePTRReply(r, &q, []string{name})
w.WriteMsg(m)
@@ -106,8 +104,7 @@ func notUsHandler() dns.HandlerFunc {
Debug.Printf("Non-local query: %+v", q)
var responseMsg *dns.Msg
if q.Qtype == dns.TypeA {
addrs, err := net.LookupIP(q.Name)
if err == nil {
if addrs, err := net.LookupIP(q.Name); err == nil {
responseMsg = makeAReply(r, &q, addrs)
} else {
responseMsg = makeDNSFailResponse(r)