[interchange] Prevent startup failures with environment variable MINIVEND_DISABLE_UTF8 set.
Stefan Hornburg <[email protected]>
| Newsgroups | gmane.comp.web.interchange.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 5cb2de19af7994a12438c73c18741c16585828ee Author: Rok Ružič <[email protected]> Date: Thu Apr 29 17:17:11 2010 +0200 Prevent startup failures with environment variable MINIVEND_DISABLE_UTF8 set. lib/Vend/File.pm | 9 ++++++--- lib/Vend/Table/GDBM.pm | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) --- diff --git a/lib/Vend/File.pm b/lib/Vend/File.pm index d9128d8..59a875c 100644 --- a/lib/Vend/File.pm +++ b/lib/Vend/File.pm @@ -49,9 +49,12 @@ use Config; use Fcntl; use Errno; +my $PERLQQ = 0x0100; # from Encode(3perl) + unless( $ENV{MINIVEND_DISABLE_UTF8} ) { require Encode; import Encode qw( is_utf8 ); + $PERLQQ = Encode::PERLQQ(); } use Vend::Util; @@ -69,7 +72,7 @@ sub writefile { $encoding = $opt->{encoding} ||= 'utf-8'; undef $encoding if $encoding eq 'raw'; $fallback = $opt->{fallback}; - $fallback = Encode::PERLQQ() unless defined $fallback; + $fallback = $PERLQQ unless defined $fallback; } $file = ">>$file" unless $file =~ /^[|>]/; @@ -200,7 +203,7 @@ sub readfile { if ($::Variable->{MV_UTF8} || $Global::Variable->{MV_UTF8}) { $encoding = $opt->{encoding} ||= 'utf-8'; $fallback = $opt->{fallback}; - $fallback = Encode::PERLQQ() unless defined $fallback; + $fallback = $PERLQQ unless defined $fallback; undef $encoding if $encoding eq 'raw'; } @@ -236,7 +239,7 @@ sub readfile { binmode(READIN) if $Global::Windows; if ($encoding) { - local $PerlIO::encoding::fallback = Encode::PERLQQ(); + local $PerlIO::encoding::fallback = $PERLQQ; binmode(READIN, ":encoding($encoding)"); } diff --git a/lib/Vend/Table/GDBM.pm b/lib/Vend/Table/GDBM.pm index aa755c4..67a9fd2 100644 --- a/lib/Vend/Table/GDBM.pm +++ b/lib/Vend/Table/GDBM.pm @@ -29,7 +29,11 @@ use vars qw($VERSION @ISA); use GDBM_File; use Vend::Table::Common; -unless( $ENV{MINIVEND_DISABLE_UTF8} ) { +if ($ENV{MINIVEND_DISABLE_UTF8}) { + sub encode($$;$){} + sub decode($$;$){} +} +else { require Encode; import Encode qw( decode encode ); } _______________________________________________ interchange-cvs mailing list [email protected] http://www.icdevgroup.org/mailman/listinfo/interchange-cvs