]> git.99rst.org Git - irssi-scripts.irssi.org.git/commitdiff
Simplify data level conversion functions
authormartin f. krafft <redacted>
Thu, 9 Sep 2021 10:38:45 +0000 (12:38 +0200)
committermartin f. krafft <redacted>
Sat, 11 Sep 2021 06:00:44 +0000 (08:00 +0200)
Don't even know what crack I was smoking previously, but conversion
between integer datalevels 1–4 and the corresponding keywords is now
a whole lot simpler.

Signed-off-by: martin f. krafft <redacted>
scripts/ctrlact.pl

index 2d53a8e5b5705c6361bdb0893262dd6d868c1d51..d2586dadf147e98ad0c1236a8c2ca8ec8b0c870b 100644 (file)
@@ -221,18 +221,20 @@ sub match {
 
 sub to_data_level {
        my ($kw) = @_;
-       return $1 if $kw =~ m/^(\d+)$/;
-       foreach my $i (2..4) {
-               my $matcher = qr/^$DATALEVEL_KEYWORDS[5-$i]$/;
-               return 6-$i if $kw =~ m/$matcher/i;
+       my $ret = 0;
+       for my $i (0 .. $#DATALEVEL_KEYWORDS) {
+               if ($kw eq $DATALEVEL_KEYWORDS[$i]) {
+                       $ret = $i + 1;
+               }
        }
-       return 1;
+       return $ret
 }
 
 sub from_data_level {
        my ($dl) = @_;
-       croak "Invalid numeric data level: $dl" unless $dl =~ m/^([1-4])$/;
-       return $DATALEVEL_KEYWORDS[$dl-1];
+       if ($dl =~ /^[1-4]$/) {
+               return $DATALEVEL_KEYWORDS[$dl-1];
+       }
 }
 
 sub walk_match_array {
git clone https://git.99rst.org/PROJECT