Skip to content

Commit

Permalink
opts.IpOpt: a helper to parse IP addressed from the command line
Browse files Browse the repository at this point in the history
Signed-off-by: Solomon Hykes <[email protected]>
  • Loading branch information
Solomon Hykes committed Aug 13, 2014
1 parent a4befff commit 6d59a56
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions opts/ip.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package opts

import (
"net"
)

type IpOpt struct {
*net.IP
}

func NewIpOpt(ref *net.IP, defaultVal string) *IpOpt {
o := &IpOpt{
IP: ref,
}
o.Set(defaultVal)
return o
}

func (o *IpOpt) Set(val string) error {
// FIXME: return a parse error if the value is not a valid IP?
// We are not changing this now to preserve behavior while refactoring.
(*o.IP) = net.ParseIP(val)
return nil
}

func (o *IpOpt) String() string {
return (*o.IP).String()
}

0 comments on commit 6d59a56

Please sign in to comment.