Fix 'not' in Filtering
authorminima <minima>
Fri, 21 Dec 2001 17:50:28 +0000 (17:50 +0000)
committerminima <minima>
Fri, 21 Dec 2001 17:50:28 +0000 (17:50 +0000)
Changes
perl/Filter.pm

diff --git a/Changes b/Changes
index e96d37093087562c87dbcc0aaaf3c0d820319806..ddd5e59f0a4476c76a85def01e625d40695006b0 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,5 @@
+20Dec01=======================================================================
+1. Fix 'not' in filtering
 17Dec01=======================================================================
 1. added new satellite stuff from Steve K9AN. Fixed upper/lower problem
 in convkeps.pl.
index 2c32bf025981465e9ae9b8f374fddeb2fa53527c..5e89b08f68fe530ff08b1fd733863a7016a7aa05 100644 (file)
@@ -368,7 +368,7 @@ sub parse
        my $user;
        
        # check the line for non legal characters
-       return ('ill', $dxchan->msg('e19')) if $line =~ /[^\s\w,_\-\*\/\(\)]/;
+       return ('ill', $dxchan->msg('e19')) if $line =~ /[^\s\w,_\-\*\/\(\)!]/;
        
        # add some spaces for ease of parsing
        $line =~ s/([\(\)])/ $1 /g;
@@ -444,12 +444,16 @@ sub parse
 
                                if ($s) {
                                        $s .= $conj ;
-                                       $s .= $not;
                                        $user .= $conj;
-                                       $user .= $not;
                                        $conj = ' && ';
-                                       $not = "";
                                }
+
+                               if ($not) {
+                                       $s .= $not;
+                                       $user .= $not;
+                                       $not = '';
+                               }
+
                                $user .= "$tok $val";
                                
                                my $fref;