Changeset 193
- Timestamp:
- 01/05/06 22:49:37 (5 years ago)
- Location:
- MMagic/trunk
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
MMagic/trunk/ChangeLog
r190 r193 1 2006-01-05 Yukio USUDA <usu@namazu.org> 2 3 * MMagic.pm (checktype_data): performance improve. 4 http://www.namazu.org/trac-namazu/trac.cgi/ticket/8 5 1 6 2005-08-27 NOKUBI Takatsugu <knok@daionet.gr.jp> 2 7 -
MMagic/trunk/MMagic.pm
r190 r193 679 679 # in BSD's version, there's an effort to search from 680 680 # more specific to less, but I don't do that. 681 my ($token, %val);681 my %val; 682 682 foreach my $type (keys %{$self->{SPECIALS}}) { 683 my $token = '(' . 684 (join '|', sort {length($a) <=> length($b)} @{$self->{SPECIALS}->{$type}}) 685 . ')'; 686 my $tdata = $data; 687 if ($tdata =~ /$token/mg) { 688 $val{$type} = pos($tdata); 683 my $matched_pos = undef; 684 foreach my $token (@{$self->{SPECIALS}->{$type}}){ 685 pos($data) = 0; 686 if ($data =~ /$token/mg) { 687 my $tmp = pos($data); 688 if ((! defined $matched_pos) || ($matched_pos > $tmp)) { 689 $matched_pos = $tmp; 690 } 691 } 689 692 } 690 }691 693 $val{$type} = $matched_pos if $matched_pos; 694 } 692 695 # search latest match 693 696 if (%val) { … … 696 699 } 697 700 698 ALLDONE:699 701 # $mtype = 'text/plain' if (! defined $mtype); 700 702 }
