From 74c036b5a725d8d268ea62ace595bce9d4eaf36f Mon Sep 17 00:00:00 2001 From: martin f. krafft Date: Fri, 24 Feb 2017 07:33:08 +1300 Subject: Fix network matching for query subcommand In the absence of a network tag passed to the `query` subcommand, no rules but the default would match and so the returned match(es) would potentially not actually be the ones used in context of ctrlact's normal operation. This commit fixes #354 by special-casing the threshold match when the data to be looked up doesn't actually specify a network tag. In this case, the output for net will be '(ignored)'. Signed-off-by: martin f. krafft --- scripts/ctrlact.pl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/ctrlact.pl b/scripts/ctrlact.pl index 534b00a..aa9dcfb 100644 --- a/scripts/ctrlact.pl +++ b/scripts/ctrlact.pl @@ -111,7 +111,7 @@ use Carp qw( croak ); use Irssi; use Text::ParseWords; -our $VERSION = '1.1'; +our $VERSION = '1.2'; our %IRSSI = ( authors => 'martin f. krafft', @@ -119,7 +119,7 @@ our %IRSSI = ( name => 'ctrlact', description => 'allows per-channel control over activity indication', license => 'MIT', - changed => '2017-02-15' + changed => '2017-02-24' ); ### DEFAULTS AND SETTINGS ###################################################### @@ -208,7 +208,8 @@ sub from_data_level { sub walk_match_array { my ($name, $net, $type, @arr) = @_; foreach my $quadruplet (@arr) { - my $netmatch = match($quadruplet->[0], $net); + my $netmatch = $net eq '*' ? '(ignored)' + : match($quadruplet->[0], $net); my $match = match($quadruplet->[1], $name); next unless $netmatch and $match; -- cgit v1.2.3