Bug#529616: libconfig-inifiles-perl: incompatible "fix" breaks programs
grin
grin at grin.hu
Wed May 20 14:54:17 UTC 2009
Package: libconfig-inifiles-perl
Version: 2.47-1
Severity: important
Using tie interface collapses hashes and returns LF separated lines. This is
very much different from old version, breaking things all over.
old result (config::auto):
'detector' => [
'pureftp',
'dovecot'
]
new result:
'general' => {
'detector' => 'pureftp
dovecot'
},
Old code:
# ----------------------------------------------------------
# Sub: Config::IniFiles::_section::FETCH
#
# Args: $key
# $key The name of the key whose value to get
#
# Description: Returns the value associated with $key. If
# the value is a hash, returns a hashref, just like normal
# Perl hashes.
# ----------------------------------------------------------
# Date Modification Author
# ----------------------------------------------------------
# 2000Jun15 Fixed bugs in -default handler JW
# 2000Dec07 Fixed another bug in -deault handler JW
# 2002Jul04 Returning scalar values (Bug:447532) AS
# ----------------------------------------------------------
sub FETCH {
my $self = shift;
my $key = shift;
$key = lc($key) if( $self->{nocase} );
my $val = $self->{v}{$key};
unless( defined $self->{v}{$key} ) {
$val = $self->{default}{$key} if ref($self->{default}) eq 'HASH';
} # end unless
return $val;
} # end FETCH
New code:
# Sub: Config::IniFiles::_section::FETCH
#
# Args: $key
# $key The name of the key whose value to get
#
# Description: Returns the value associated with $key. If
# the value is a list, returns the list joined by $/.
# ----------------------------------------------------------
# Date Modification Author
# ----------------------------------------------------------
# 2000Jun15 Fixed bugs in -default handler JW
# 2000Dec07 Fixed another bug in -deault handler JW
# 2002Jul04 Returning scalar values (Bug:447532) AS
# ----------------------------------------------------------
sub FETCH {
my ($self, $key)=@_;
my @retval=$self->{config}->val($self->{section}, $key);
return (@retval <= 1) ? $retval[0] : join($/, @retval);
} # end FETCH
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (x86_64)
Kernel: Linux 2.6.18-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
Versions of packages libconfig-inifiles-perl depends on:
ii perl-base 5.10.0-22 minimal Perl system
libconfig-inifiles-perl recommends no packages.
-- no debconf information
More information about the pkg-perl-maintainers
mailing list