Archived
1
0

Trace: empty or zero value is equivalent to no ID

This commit is contained in:
Mercier Pierre-Olivier 2013-09-09 13:44:28 +02:00
parent d8389b2b77
commit 0fc6ae8a75

View File

@ -179,28 +179,38 @@ sub end_element
{ {
my ($self, $element) = @_; my ($self, $element) = @_;
if ($element->{Name} eq "value") { if ($element->{Name} eq "value")
if ($self->{values} =~ /(-?[0-9]+(.[0-9]+)?)/) { {
if ($self->{values} =~ /(-?[0-9]+(.[0-9]+)?)/)
{
$self->{parsed}{ids}{ $self->{inEval} } += $1; $self->{parsed}{ids}{ $self->{inEval} } += $1;
if ($self->{inValue} ne NO_ID_VALUE) { if ($self->{inValue} ne NO_ID_VALUE and $1) {
$self->{parsed}{ids}{ $self->{inValue} } = $1; $self->{parsed}{ids}{ $self->{inValue} } = $1;
} }
} }
$self->{inValue} = ""; $self->{inValue} = "";
} }
elsif ($element->{Name} eq "comment") { elsif ($element->{Name} eq "eval")
{
delete $self->{parsed}{ids}{ $self->{inEval} } if (!$self->{parsed}{ids}{ $self->{inEval} });
$self->{inEval} = "";
}
elsif ($element->{Name} eq "comment")
{
if ($self->{values} =~ /([^\s].*[^\s]|[^\s])/) { if ($self->{values} =~ /([^\s].*[^\s]|[^\s])/) {
$self->{parsed}{comments}{ $self->{inComment} } = $1; $self->{parsed}{comments}{ $self->{inComment} } = $1;
} }
$self->{inComment} = ""; $self->{inComment} = "";
} }
elsif ($element->{Name} eq "who") { elsif ($element->{Name} eq "who")
{
if ($self->{values} =~ /([^\s].*[^\s]|[^\s])/) { if ($self->{values} =~ /([^\s].*[^\s]|[^\s])/) {
$self->{parsed}{who}{ $self->{inWho} } = $1; $self->{parsed}{who}{ $self->{inWho} } = $1;
} }
$self->{inComment} = ""; $self->{inComment} = "";
} }
elsif ($element->{Name} eq "info") { elsif ($element->{Name} eq "info")
{
if ($self->{values} =~ /([^\s].*[^\s]|[^\s])/) { if ($self->{values} =~ /([^\s].*[^\s]|[^\s])/) {
$self->{parsed}{infos}{ $self->{inInfo} } = $1; $self->{parsed}{infos}{ $self->{inInfo} } = $1;
} }