[Slim-Checkins] r10183 - in /trunk/server:
CPAN/DBIx/Class/UTF8Columns.pm scanner.pl slimserver.pl
dsully at svn.slimdevices.com
dsully at svn.slimdevices.com
Wed Oct 4 11:23:46 PDT 2006
Author: dsully
Date: Wed Oct 4 11:23:44 2006
New Revision: 10183
URL: http://svn.slimdevices.com?rev=10183&view=rev
Log:
Bug: N/A
Description: UTF-8 fixes for older perl versions. SlimServer requires Perl 5.8.1 or greater.
Modified:
trunk/server/CPAN/DBIx/Class/UTF8Columns.pm
trunk/server/scanner.pl
trunk/server/slimserver.pl
Modified: trunk/server/CPAN/DBIx/Class/UTF8Columns.pm
URL: http://svn.slimdevices.com/trunk/server/CPAN/DBIx/Class/UTF8Columns.pm?rev=10183&r1=10182&r2=10183&view=diff
==============================================================================
--- trunk/server/CPAN/DBIx/Class/UTF8Columns.pm (original)
+++ trunk/server/CPAN/DBIx/Class/UTF8Columns.pm Wed Oct 4 11:23:44 2006
@@ -3,7 +3,16 @@
use warnings;
use base qw/DBIx::Class/;
-use utf8;
+BEGIN {
+
+ # Perl 5.8.0 doesn't have utf8::is_utf8()
+ # Yes, 5.8.0 support for Unicode is suboptimal, but things like RHEL3 ship with it.
+ if ($] <= 5.008000) {
+ require Encode;
+ } else {
+ require utf8;
+ }
+}
__PACKAGE__->mk_classdata( '_utf8_columns' );
@@ -60,8 +69,13 @@
my $cols = $self->_utf8_columns;
if ( $cols and defined $value and $cols->{$column} ) {
- utf8::decode($value) unless utf8::is_utf8($value);
- }
+
+ if ($] <= 5.008000) {
+ Encode::_utf8_on($value) unless Encode::is_utf8($value);
+ } else {
+ utf8::decode($value) unless utf8::is_utf8($value);
+ }
+ }
$value;
}
@@ -75,7 +89,12 @@
my %data = $self->next::method(@_);
foreach my $col (grep { defined $data{$_} } keys %{ $self->_utf8_columns || {} }) {
- utf8::decode($data{$col}) unless utf8::is_utf8($data{$col});
+
+ if ($] <= 5.008000) {
+ Encode::_utf8_on($data{$col}) unless Encode::is_utf8($data{$col});
+ } else {
+ utf8::decode($data{$col}) unless utf8::is_utf8($data{$col});
+ }
}
%data;
@@ -90,7 +109,12 @@
my $cols = $self->_utf8_columns;
if ( $cols and defined $value and $cols->{$column} ) {
- utf8::encode($value) if utf8::is_utf8($value);
+
+ if ($] <= 5.008000) {
+ Encode::_utf8_off($value) if Encode::is_utf8($value);
+ } else {
+ utf8::encode($value) if utf8::is_utf8($value);
+ }
}
$self->next::method( $column, $value );
Modified: trunk/server/scanner.pl
URL: http://svn.slimdevices.com/trunk/server/scanner.pl?rev=10183&r1=10182&r2=10183&view=diff
==============================================================================
--- trunk/server/scanner.pl (original)
+++ trunk/server/scanner.pl Wed Oct 4 11:23:44 2006
@@ -11,6 +11,7 @@
# GNU General Public License for more details.
#
+require 5.008_001;
use strict;
use warnings;
Modified: trunk/server/slimserver.pl
URL: http://svn.slimdevices.com/trunk/server/slimserver.pl?rev=10183&r1=10182&r2=10183&view=diff
==============================================================================
--- trunk/server/slimserver.pl (original)
+++ trunk/server/slimserver.pl Wed Oct 4 11:23:44 2006
@@ -11,7 +11,7 @@
# GNU General Public License for more details.
#
-require 5.006_000;
+require 5.008_001;
use strict;
use warnings;
More information about the checkins
mailing list