Changeset 35927

Show
Ignore:
Timestamp:
11/16/09 23:13:28 (4 years ago)
Author:
dankogai
Message:

Version 2.38

Location:
lang/perl/Encode/trunk
Files:
14 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Encode/trunk/AUTHORS

    r34411 r35927  
    1818Bjoern Jacke                    <debianbugs@j3e.de> 
    1919Chris Nandor                    <pudge@pobox.com> 
     20Craig A. Berry                  <craigberry@mac.com> 
    2021Curtis Jewell                   <csjewell@cpan.org> 
    21 Craig A. Berry                  <craigberry@mac.com> 
    2222Dan Kogai                       <dankogai@dan.co.jp> 
    2323Dave Evans                      <dave@rudolf.org.uk> 
     
    2626Elizabeth Mattijsen             <liz@dijkmat.nl> 
    2727Gerrit P. Haase                 <gp@familiehaase.de> 
     28Gisle Aas                       <gisle@ActiveState.com> 
    2829Graham Barr                     <gbarr@pobox.com> 
    2930Gurusamy Sarathy                <gsar@activestate.com> 
     
    6061Tatsuhiko Miyagawa              <miyagawa@bulknews.net> 
    6162Tels                            <perl_dummy@bloodgate.com> 
     63Tony Cook                       <tony@develop-help.com> 
    6264Vadim Konovalov                 <vkonovalov@peterstar.ru> 
    6365Yitzchak Scott-Thoennes         <sthoenna@efn.org> 
  • lang/perl/Encode/trunk/Byte/Byte.pm

    r35636 r35927  
    33use warnings; 
    44use Encode; 
    5 our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
     5our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
    66 
    77use XSLoader; 
  • lang/perl/Encode/trunk/CN/CN.pm

    r35636 r35927  
    88use warnings; 
    99use Encode; 
    10 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
     10our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
    1111use XSLoader; 
    1212XSLoader::load( __PACKAGE__, $VERSION ); 
  • lang/perl/Encode/trunk/Changes

    r35636 r35927  
    11# Revision history for Perl extension Encode. 
    22# 
    3 # $Id: Changes,v 2.37 2009/09/06 14:32:21 dankogai Exp dankogai $ 
    4 $Revision: 2.37 $ $Date: 2009/09/06 14:32:21 $ 
     3# $Id: Changes,v 2.38 2009/11/16 14:08:13 dankogai Exp dankogai $ 
     4$Revision: 2.38 $ $Date: 2009/11/16 14:08:13 $ 
     5! Encode.xs 
     6  Addressed: Encode memory corruption [perl #70528] 
     7  Message-Id: <alpine.LFD.2.00.0911152328070.9483@ein.m-l.org> 
     8! t/Unicode.t Unicode/Unicode.xs 
     9  Patched: #51263: set magic is not applied when modifying encode arguments 
     10  http://rt.cpan.org/Ticket/Display.html?id=51263 
     11! Encode.xs 
     12  Patched: #51204: Callback CHECK not supported for UTF-8 decoder/encoder 
     13  http://rt.cpan.org/Ticket/Display.html?id=51204 
    514! Byte/Byte.pm CN/CN.pm Changes JP/JP.pm KR/KR.pm TW/TW.pm  
    615  Unicode/Unicode.pm bin/enc2xs lib/Encode/Supported.pod 
  • lang/perl/Encode/trunk/Encode.pm

    r35216 r35927  
    11# 
    2 # $Id: Encode.pm,v 2.37 2009/09/06 14:30:32 dankogai Exp $ 
     2# $Id: Encode.pm,v 2.38 2009/11/16 14:08:01 dankogai Exp $ 
    33# 
    44package Encode; 
    55use strict; 
    66use warnings; 
    7 our $VERSION = sprintf "%d.%02d", q$Revision: 2.37 $ =~ /(\d+)/g; 
     7our $VERSION = sprintf "%d.%02d", q$Revision: 2.38 $ =~ /(\d+)/g; 
    88sub DEBUG () { 0 } 
    99use XSLoader (); 
  • lang/perl/Encode/trunk/Encode.xs

    r35216 r35927  
    11/* 
    2  $Id: Encode.xs,v 2.16 2009/09/06 14:32:21 dankogai Exp dankogai $ 
     2 $Id: Encode.xs,v 2.17 2009/11/16 14:08:13 dankogai Exp dankogai $ 
    33 */ 
    44 
     
    6969    dSP; 
    7070    int argc; 
    71     SV *temp, *retval; 
     71    SV *retval = newSVpv("",0); 
    7272    ENTER; 
    7373    SAVETMPS; 
     
    8080        croak("fallback sub must return scalar!"); 
    8181    } 
    82     temp = newSVsv(POPs); 
     82    sv_catsv(retval, POPs); 
    8383    PUTBACK; 
    8484    FREETMPS; 
    8585    LEAVE; 
    86     retval = newSVpv("",0); 
    87     sv_catsv(retval, temp); 
    88     SvREFCNT_dec(temp); 
    8986    return retval; 
    9087} 
     
    200197                 check & ENCODE_HTMLCREF ? "&#%" UVuf ";" : 
    201198                 "&#x%" UVxf ";", (UV)ch); 
     199            SvUTF8_off(subchar); /* make sure no decoded string gets in */ 
    202200            sdone += slen + clen; 
    203201            ddone += dlen + SvCUR(subchar); 
     
    402400 
    403401void 
    404 Method_decode_xs(obj,src,check = 0) 
     402Method_decode_xs(obj,src,check_sv = &PL_sv_no) 
    405403SV *    obj 
    406404SV *    src 
    407 int     check 
     405SV *    check_sv 
    408406PREINIT: 
    409407    STRLEN slen; 
     
    412410    SV *dst; 
    413411    bool renewed = 0; 
     412    int check; 
    414413CODE: 
    415414{ 
    416415    dSP; ENTER; SAVETMPS; 
     416    if (SvROK(check_sv)) { 
     417        croak("UTF-8 decoder doesn't support callback CHECK"); 
     418    } 
     419    else { 
     420        check = SvIV(check_sv); 
     421    } 
    417422    if (src == &PL_sv_undef) src = newSV(0); 
    418423    s = (U8 *) SvPV(src, slen); 
     
    465470 
    466471void 
    467 Method_encode_xs(obj,src,check = 0) 
     472Method_encode_xs(obj,src,check_sv = &PL_sv_no) 
    468473SV *    obj 
    469474SV *    src 
    470 int     check 
     475SV *    check_sv 
    471476PREINIT: 
    472477    STRLEN slen; 
     
    475480    SV *dst; 
    476481    bool renewed = 0; 
    477 CODE: 
    478 { 
     482    int check; 
     483CODE: 
     484{ 
     485    if (SvROK(check_sv)) { 
     486        croak("UTF-8 encoder doesn't support callback CHECK"); 
     487    } 
     488    else { 
     489        check = SvIV(check_sv); 
     490    } 
    479491    if (src == &PL_sv_undef) src = newSV(0); 
    480492    s = (U8 *) SvPV(src, slen); 
  • lang/perl/Encode/trunk/JP/JP.pm

    r35636 r35927  
    88use warnings; 
    99use Encode; 
    10 our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
     10our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
    1111 
    1212use XSLoader; 
  • lang/perl/Encode/trunk/KR/KR.pm

    r35636 r35927  
    88use warnings; 
    99use Encode; 
    10 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
     10our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
    1111use XSLoader; 
    1212XSLoader::load( __PACKAGE__, $VERSION ); 
  • lang/perl/Encode/trunk/TW/TW.pm

    r35636 r35927  
    88use warnings; 
    99use Encode; 
    10 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
     10our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
    1111use XSLoader; 
    1212XSLoader::load( __PACKAGE__, $VERSION ); 
  • lang/perl/Encode/trunk/Unicode/Unicode.pm

    r35636 r35927  
    55no warnings 'redefine'; 
    66 
    7 our $VERSION = do { my @r = ( q$Revision: 2.6 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
     7our $VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r }; 
    88 
    99use XSLoader; 
  • lang/perl/Encode/trunk/Unicode/Unicode.xs

    r30107 r35927  
    11/* 
    2  $Id: Unicode.xs,v 2.5 2009/02/01 13:14:41 dankogai Exp $ 
     2 $Id: Unicode.xs,v 2.6 2009/11/16 14:08:13 dankogai Exp dankogai $ 
    33 */ 
    44 
     
    378378        shrink_buffer(result); 
    379379 
     380    SvSETMAGIC(utf8); 
     381 
    380382    XSRETURN(1); 
    381383} 
  • lang/perl/Encode/trunk/bin/enc2xs

    r35636 r35927  
    1111use Config; 
    1212my @orig_ARGV = @ARGV; 
    13 our $VERSION  = do { my @r = (q$Revision: 2.6 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; 
     13our $VERSION  = do { my @r = (q$Revision: 2.7 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; 
    1414 
    1515# These may get re-ordered. 
  • lang/perl/Encode/trunk/t/Unicode.t

    r1747 r35927  
    11# 
    2 # $Id: Unicode.t,v 2.1 2006/05/03 18:24:10 dankogai Exp $ 
     2# $Id: Unicode.t,v 2.2 2009/11/16 14:08:13 dankogai Exp dankogai $ 
    33# 
    44# This script is written entirely in ASCII, even though quoted literals 
     
    2121use strict; 
    2222#use Test::More 'no_plan'; 
    23 use Test::More tests => 37; 
    24 use Encode qw(encode decode); 
     23use Test::More tests => 38; 
     24use Encode qw(encode decode find_encoding); 
    2525 
    2626# 
     
    132132       "UTF-7 RT:$file"); 
    133133} 
     134 
     135# Magic 
     136{ 
     137    # see http://rt.perl.org/rt3//Ticket/Display.html?id=60472 
     138    my $work = chr(0x100); 
     139    my $encoding = find_encoding("UTF16-BE"); 
     140    my $tied; 
     141    tie $tied, SomeScalar => \$work; 
     142    my $result = $encoding->encode($tied, 1); 
     143    is($work, "", "check set magic was applied"); 
     144} 
     145 
     146package SomeScalar; 
     147use Tie::Scalar; 
     148use vars qw(@ISA); 
     149BEGIN { @ISA = 'Tie::Scalar' } 
     150 
     151sub TIESCALAR { 
     152    my ($class, $ref) = @_; 
     153    return bless $ref, $class; 
     154} 
     155 
     156sub FETCH { 
     157    ${$_[0]} 
     158} 
     159 
     160sub STORE { 
     161    ${$_[0]} = $_[1]; 
     162} 
     163 
    1341641; 
    135165__END__ 
  • lang/perl/Encode/trunk/t/piconv.t

    r35224 r35927  
    11# 
    2 # $Id: piconv.t,v 0.2 2009/07/13 00:50:52 dankogai Exp $ 
     2# $Id: piconv.t,v 0.3 2009/11/16 14:08:13 dankogai Exp dankogai $ 
    33# 
    44