Skip Menu |

This queue is for tickets about the Convert-Color CPAN distribution.

Report information
The Basics
Id: 91722
Status: resolved
Priority: 0/
Queue: Convert-Color

People
Owner: Nobody in particular
Requestors: leonerd-cpan [...] leonerd.org.uk
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.09
Fixed in: 0.10



By email from crazedpsyc: I just found an odd race condition in which Convert::Color::RGB{8,16}::new try to use their package's hex() rather than CORE::hex. Changing it to explicitly use CORE::hex is the simplest way I could think of to fix that without breaking compatibility. My (small) patch is attached, since I could not find a public repo anywhere. -- Paul Evans
Subject: core-hex.patch
diff -rupN lib/Convert/Color/RGB16.pm lib2/Convert/Color/RGB16.pm --- lib/Convert/Color/RGB16.pm 2013-12-23 19:01:29.579544638 -0700 +++ lib2/Convert/Color/RGB16.pm 2013-12-23 19:02:47.202390447 -0700 @@ -83,7 +83,7 @@ sub new if( @_ == 1 ) { local $_ = $_[0]; if( m/^([[:xdigit:]]{4})([[:xdigit:]]{4})([[:xdigit:]]{4})$/ ) { - ( $r, $g, $b ) = ( hex $1, hex $2, hex $3 ); + ( $r, $g, $b ) = ( CORE::hex($1), CORE::hex($2), CORE::hex($3) ); } elsif( m/^(\d+),(\d+),(\d+)$/ ) { ( $r, $g, $b ) = ( $1, $2, $3 ); diff -rupN lib/Convert/Color/RGB8.pm lib2/Convert/Color/RGB8.pm --- lib/Convert/Color/RGB8.pm 2013-12-23 19:01:37.389495582 -0700 +++ lib2/Convert/Color/RGB8.pm 2013-12-23 19:02:52.602356535 -0700 @@ -83,7 +83,7 @@ sub new if( @_ == 1 ) { local $_ = $_[0]; if( m/^([[:xdigit:]]{2})([[:xdigit:]]{2})([[:xdigit:]]{2})$/ ) { - ( $r, $g, $b ) = ( hex $1, hex $2, hex $3 ); + ( $r, $g, $b ) = ( CORE::hex($1), CORE::hex($2), CORE::hex($3) ); } elsif( m/^(\d+),(\d+),(\d+)$/ ) { ( $r, $g, $b ) = ( $1, $2, $3 );
On further chat, this appears to be related to code reloading on 5.16 only. -- Paul Evans
Fixed by adding parens in 0.10. -- Paul Evans