mhonarc-commits
[Top] [All Lists]

CVS: mhonarc/MHonArc/lib mhutil.pl,2.25,2.26 readmail.pl,2.28,2.29 rfc822.p...

2003-01-03 20:02:14
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