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

quotes around the contents
This commit is contained in:
Daniel Stenberg 2005-04-28 21:05:40 +00:00
Родитель c6aae9b1d7
Коммит 967ec296c0
1 изменённых файлов: 4 добавлений и 13 удалений

Просмотреть файл

@ -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;
}