Check if parameters are defined instead of interpreting as booleans.
Fixes bug #359 "Yate.pm removes '0' values from all (even not handled) messages". Patch by Vasily i. Redkin <vir@ctm.ru> git-svn-id: http://voip.null.ro/svn/yate@5773 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
fb687a8986
commit
02150d4631
|
@ -189,7 +189,7 @@ sub install($$$;$;$$) {
|
||||||
|
|
||||||
# filter-name and filter-value are optional.
|
# filter-name and filter-value are optional.
|
||||||
if ($filter_name) {
|
if ($filter_name) {
|
||||||
$filter_value = '' if (!$filter_value);
|
$filter_value = '' unless defined $filter_value;
|
||||||
$query .= sprintf(':%s:%s', $self->escape($filter_name, ':'), $self->escape($filter_value, ':'));
|
$query .= sprintf(':%s:%s', $self->escape($filter_name, ':'), $self->escape($filter_value, ':'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -426,7 +426,7 @@ sub param($$;$) {
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($value) {
|
if (defined $value) {
|
||||||
$self->{'params'}->{$key} = $value;
|
$self->{'params'}->{$key} = $value;
|
||||||
} elsif (exists($self->{'params'}->{$key})) {
|
} elsif (exists($self->{'params'}->{$key})) {
|
||||||
return $self->{'params'}->{$key};
|
return $self->{'params'}->{$key};
|
||||||
|
@ -525,7 +525,7 @@ sub return_message($$$) {
|
||||||
if (ref($self->params()) eq 'HASH') {
|
if (ref($self->params()) eq 'HASH') {
|
||||||
while (my ($key, $value) = each(%{$self->params()})) {
|
while (my ($key, $value) = each(%{$self->params()})) {
|
||||||
if ($key) {
|
if ($key) {
|
||||||
$value = '' if (!$value);
|
$value = '' unless defined $value;
|
||||||
$params .= ':' . $self->escape($key, ':') . '=' . $self->escape($value, ':');
|
$params .= ':' . $self->escape($key, ':') . '=' . $self->escape($value, ':');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -590,7 +590,7 @@ sub message($$$;$;@) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
$return_value = '' if (!$return_value);
|
$return_value = '' unless defined $return_value;
|
||||||
|
|
||||||
if (!$id) {
|
if (!$id) {
|
||||||
$id = generate_id();
|
$id = generate_id();
|
||||||
|
@ -599,7 +599,7 @@ sub message($$$;$;@) {
|
||||||
my $params = '';
|
my $params = '';
|
||||||
while (my ($key, $value) = each(%params)) {
|
while (my ($key, $value) = each(%params)) {
|
||||||
if ($key) {
|
if ($key) {
|
||||||
$value = '' if (!$value);
|
$value = '' unless defined $value;
|
||||||
$params .= ':' . $self->escape($key, ':') . '=' . $self->escape($value, ':');
|
$params .= ':' . $self->escape($key, ':') . '=' . $self->escape($value, ':');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue