Changeset 23220

Show
Ignore:
Timestamp:
11/11/08 13:27:21 (5 years ago)
Author:
daisuke
Message:

unwind push_headers for @_ == 2

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/HTTP-Headers-Fast/trunk/lib/HTTP/Headers/Fast.pm

    r23216 r23220  
    9999    my $self = shift; 
    100100 
    101     while ( my ($field, $val) = splice( @_, 0, 2 ) ) { 
     101    if (@_ == 2) { 
     102        my ($field, $val) = @_; 
    102103        $field = _standardize_field_name($field) unless $field =~ /^:/; 
    103104 
    104     my $h = $self->{$field}; 
    105     if (!defined $h) { 
    106         $h = []; 
    107         $self->{$field} = $h; 
    108     } elsif (ref $h ne 'ARRAY') { 
    109         $h = [ $h ]; 
    110         $self->{$field} = $h; 
    111     } 
     105        my $h = $self->{$field}; 
     106        if (!defined $h) { 
     107            $h = []; 
     108            $self->{$field} = $h; 
     109        } elsif (ref $h ne 'ARRAY') { 
     110            $h = [ $h ]; 
     111            $self->{$field} = $h; 
     112        } 
    112113     
    113114        push @$h, ref $val ne 'ARRAY' ? $val : @$val; 
     115    } else { 
     116        while ( my ($field, $val) = splice( @_, 0, 2 ) ) { 
     117            $field = _standardize_field_name($field) unless $field =~ /^:/; 
     118 
     119            my $h = $self->{$field}; 
     120            if (!defined $h) { 
     121                $h = []; 
     122                $self->{$field} = $h; 
     123            } elsif (ref $h ne 'ARRAY') { 
     124                $h = [ $h ]; 
     125                $self->{$field} = $h; 
     126            } 
     127     
     128            push @$h, ref $val ne 'ARRAY' ? $val : @$val; 
     129        } 
    114130    } 
    115131    return ();