From 25a2f48a0262c9dde2e6f2540de3f5822c4a9640 Mon Sep 17 00:00:00 2001 From: Edznux Date: Sun, 28 Oct 2018 18:01:55 +0100 Subject: [PATCH] Replace if/else by switch --- modules/net_recon_show.go | 10 +++++----- modules/wifi_show.go | 10 +++++----- session/module_param.go | 19 ++++++++++++------- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/modules/net_recon_show.go b/modules/net_recon_show.go index f44e027c..e37ebdc3 100644 --- a/modules/net_recon_show.go +++ b/modules/net_recon_show.go @@ -119,14 +119,14 @@ func (d *Discovery) Show(by string, expr string) (err error) { } else { targets = d.Session.Lan.List() } - - if by == "seen" { + switch by { + case "seen": sort.Sort(BySeenSorter(targets)) - } else if by == "sent" { + case "sent": sort.Sort(BySentSorter(targets)) - } else if by == "rcvd" { + case "rcvd": sort.Sort(ByRcvdSorter(targets)) - } else { + default: sort.Sort(ByAddressSorter(targets)) } diff --git a/modules/wifi_show.go b/modules/wifi_show.go index 74783b0b..14e86bed 100644 --- a/modules/wifi_show.go +++ b/modules/wifi_show.go @@ -123,14 +123,14 @@ func (w *WiFiModule) Show(by string) error { } else { stations = w.Session.WiFi.Stations() } - - if by == "seen" { + switch by { + case "seen": sort.Sort(ByWiFiSeenSorter(stations)) - } else if by == "essid" { + case "essid": sort.Sort(ByEssidSorter(stations)) - } else if by == "channel" { + case "channel": sort.Sort(ByChannelSorter(stations)) - } else { + default: sort.Sort(ByRSSISorter(stations)) } diff --git a/session/module_param.go b/session/module_param.go index dd38fc95..c16f98da 100644 --- a/session/module_param.go +++ b/session/module_param.go @@ -64,9 +64,10 @@ func (p ModuleParam) Validate(value string) (error, interface{}) { } } - if p.Type == STRING { + switch p.Type { + case STRING: return nil, value - } else if p.Type == BOOL { + case BOOL: lvalue := strings.ToLower(value) if lvalue == "true" { return nil, true @@ -75,7 +76,7 @@ func (p ModuleParam) Validate(value string) (error, interface{}) { } else { return fmt.Errorf("Can't typecast '%s' to boolean.", value), nil } - } else if p.Type == INT { + case INT: i, err := strconv.Atoi(value) return err, i } @@ -90,17 +91,21 @@ const ParamRandomMAC = "" func (p ModuleParam) Get(s *Session) (error, interface{}) { _, v := s.Env.Get(p.Name) - if v == ParamIfaceName { + switch v { + case ParamIfaceName: v = s.Interface.Name() - } else if v == ParamIfaceAddress { + case ParamIfaceAddress: v = s.Interface.IpAddress - } else if v == ParamSubnet { + case ParamSubnet: v = s.Interface.CIDR() - } else if v == ParamRandomMAC { + case ParamRandomMAC: hw := make([]byte, 6) rand.Read(hw) v = net.HardwareAddr(hw).String() + default: + return fmt.Errorf("Uknown value for v"), nil } + return p.Validate(v) }