Update of /cvsroot/mhonarc/mhonarc/MHonArc/lib
In directory subversions:/tmp/cvs-serv15751/lib
Modified Files:
mhutil.pl readmail.pl
Removed Files:
rfc822.pl
Log Message:
* More robust parsing used for determining $FROMNAME$ and $FROMADDR*$
resource variables.
* rfc822.pl library removed and replaced with MHonArc::RFC822 module.
Index: mhutil.pl
===================================================================
RCS file: /cvsroot/mhonarc/mhonarc/MHonArc/lib/mhutil.pl,v
retrieving revision 2.25
retrieving revision 2.26
diff -C2 -r2.25 -r2.26
*** mhutil.pl 31 Dec 2002 05:03:30 -0000 2.25
--- mhutil.pl 4 Jan 2003 03:01:56 -0000 2.26
***************
*** 28,31 ****
--- 28,33 ----
package mhonarc;
+ use MHonArc::RFC822;
+
## RFC 2369 header fields to check for URLs
%HFieldsList = (
***************
*** 146,163 ****
sub extract_email_address {
return '' unless defined $_[0];
! my $str = shift;
!
! if ($str =~ /($AddrExp)/o) {
! return $1;
! }
! if ($str =~ /<(\S+)>/) {
! return $1;
! }
! if ($str =~ s/\([^\)]+\)//) {
! $str =~ /\s*(\S+)\s*/;
! return $1;
! }
! $str =~ /\s*(\S+)\s*/;
! return $1;
}
--- 148,152 ----
sub extract_email_address {
return '' unless defined $_[0];
! scalar(MHonArc::RFC822::first_addr_spec(shift));
}
***************
*** 166,188 ****
##
sub extract_email_name {
! my($str) = shift;
! my($ret);
!
! if ($str =~ s/<(\S+)>//) { # Check for: name <addr>
! $ret = $1;
! if ($str =~ /\S/) {
! $ret = $str;
! } else { # no name
! $ret =~ s/@.*//;
! }
! } elsif ($str =~ /"([^"]+)"/) { # Name in ""'s
! $ret = $1;
! } elsif ($str =~ /\(([^\)]+)\)/) { # Name in ()'s
! $ret = $1;
! } else { # Just address
! ($ret = $str) =~ s/@.*//;
}
! $ret =~ s/^["\s]+//g; $ret =~ s/["\s]+$//g;
! $ret;
}
--- 155,195 ----
##
sub extract_email_name {
! my @tokens = MHonArc::RFC822::tokenise(shift);
! my @bare = ( );
! my $possible = undef;
! my $skip = 0;
!
! my $tok;
! foreach $tok (@tokens) {
! next if $skip;
! if ($tok =~ /^"/) { # Quoted string
! $tok =~ s/^"//; $tok =~ s/"$//;
! return $tok;
! }
! if ($tok =~ /^\(/) { # Comment
! $tok =~ s/^\(//; $tok =~ s/\)$//;
! return $tok;
! }
! if ($tok =~ /^<$/) { # Address spec, skip
! $skip = 1;
! next;
! }
! if ($tok =~ /^>$/) {
! $skip = 0;
! next;
! }
! push(@bare, $tok); # Bare name
}
!
! my $str;
! if (@bare) {
! $str = join(' ', @bare);
! $str =~ s/@.*//;
! $str =~ s/^\s+//; $str =~ s/\s+$//;
! return $str;
! }
! $str = MHonArc::RFC822::first_addr_spec(@tokens);
! $str =~ s/@.*//;
! $str;
}
Index: readmail.pl
===================================================================
RCS file: /cvsroot/mhonarc/mhonarc/MHonArc/lib/readmail.pl,v
retrieving revision 2.28
retrieving revision 2.29
diff -C2 -r2.28 -r2.29
*** readmail.pl 1 Jan 2003 07:29:11 -0000 2.28
--- readmail.pl 4 Jan 2003 03:01:56 -0000 2.29
***************
*** 974,981 ****
my $hasmain = shift; # Flag if there is a main value to extract
! require 'rfc822.pl';
my $parm = { };
! my(@toks) = (rfc822::uncomment($str));
my($tok, $name, $value, $charset, $lang, $part);
--- 974,981 ----
my $hasmain = shift; # Flag if there is a main value to extract
! require MHonArc::RFC822;
my $parm = { };
! my @toks = MHonArc::RFC822::uncomment($str);
my($tok, $name, $value, $charset, $lang, $part);
--- rfc822.pl DELETED ---
---------------------------------------------------------------------
To sign-off this list, send email to majordomo(_at_)mhonarc(_dot_)org with the
message text UNSUBSCRIBE MHONARC-DEV