From af0bf1fd5b9cb1316d6e34bff0ed41061e14443d Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Wed, 9 Dec 2015 16:55:58 -0800 Subject: [PATCH] deal when Net::MAC::Vendor-lookup doesn't return an arrayref, RT#39384 --- httemplate/view/elements/svc_Common.html | 4 ++-- httemplate/view/elements/svc_devices.html | 3 ++- httemplate/view/elements/svc_radius_usage.html | 7 +++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/httemplate/view/elements/svc_Common.html b/httemplate/view/elements/svc_Common.html index d7a1dcf30..296c27bbc 100644 --- a/httemplate/view/elements/svc_Common.html +++ b/httemplate/view/elements/svc_Common.html @@ -283,8 +283,8 @@ my $format_field = sub { } elsif ( $type eq 'checkbox' ) { $value = $value eq 'Y' ? emt('Yes') : emt('No'); } elsif ( $type =~ /(input-)?mac_addr/ and $value =~ /\w/) { - my $vendor = Net::MAC::Vendor::lookup($value)->[0]; - $value .= " ($vendor)" if $vendor; + my $vendor = Net::MAC::Vendor::lookup($value); + $value .= ' ('. $vendor->[0]. ')' if $vendor; $value = $m->scomp('/elements/mac_addr.html', $value); } diff --git a/httemplate/view/elements/svc_devices.html b/httemplate/view/elements/svc_devices.html index 899e6aa47..3d4e1bbc5 100644 --- a/httemplate/view/elements/svc_devices.html +++ b/httemplate/view/elements/svc_devices.html @@ -63,7 +63,8 @@ <% $td %><% $device->part_device->devicename |h %> % } <% $td %><% $device->mac_addr_pretty %> - (<% (Net::MAC::Vendor::lookup($device->mac_addr_formatted('U',':')))->[0] %>) +% my $vendor = Net::MAC::Vendor::lookup($device->mac_addr_formatted('U',':')); + (<% $vendor ? $vendor->[0] : '' %>) <% $td %><% $export_links %> <% $td %>( diff --git a/httemplate/view/elements/svc_radius_usage.html b/httemplate/view/elements/svc_radius_usage.html index 471969175..56198524c 100644 --- a/httemplate/view/elements/svc_radius_usage.html +++ b/httemplate/view/elements/svc_radius_usage.html @@ -27,8 +27,11 @@ % ) / 1073741824; % % my $last_mac = $svc->attribute_last_sqlradacct( 'CallingStationId' ); -% if ( $last_mac =~ /^\s*(([\dA-F]{2}[\-:]){5}[\dA-F]{2})/i ) { -% $last_mac .= ' ('. (Net::MAC::Vendor::lookup($1))->[0]. ')'; +% if ( $last_mac =~ /^\s*(([\dA-F]{2}[\-:]){5}[\dA-F]{2})/i +% && my $vendor = Net::MAC::Vendor::lookup($1) +% ) +% { +% $last_mac .= ' ('. $vendor->[0]. ')'; % } -- 2.11.0