Commit 967ec296 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

fixed the attribute parser to better handle multiple ones, with or without

quotes around the contents
parent c6aae9b1
Loading
Loading
Loading
Loading
+4 −13
Original line number Diff line number Diff line
@@ -34,20 +34,11 @@ sub getpartattr {
             ) {
            $inside++;
            my $attr=$1;
            my @p=split("[\t]", $attr);
            my $assign;

            foreach $assign (@p) {
                # $assign is a 'name="contents"' pair

                if($assign =~ / *([^=]*)=\"([^\"]*)\"/) {
                    # *with* quotes
                    $hash{$1}=$2;
                }
                elsif($assign =~ / *([^=]*)=([^\"]*)/) {
                    # *without* quotes
                    $hash{$1}=$2;
                }
            while($attr =~ s/ *([^=]*)= *(\"([^\"]*)\"|([^\"> ]*))//) {
                my ($var, $cont)=($1, $2);
                $cont =~ s/^\"(.*)\"$/$1/;
                $hash{$var}=$cont;
            }
            last;
        }