diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-04-14 14:10:14 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-04-14 14:10:14 +0000 |
commit | eb7113c4ef89803d6f551b53ba7d614b7fabe48d (patch) | |
tree | 89d82f2526ee228076412715fa221ff587300502 /ext | |
parent | 7c21b9ea7dcecdbe051646483b94cd5e127269f7 (diff) | |
parent | 3b4bd3fd9ce156dd5810f53e7d2c862917be2cb9 (diff) | |
download | perl-eb7113c4ef89803d6f551b53ba7d614b7fabe48d.tar.gz |
Integrate perlio:
[ 15904]
Disable test code (assertions) in CRLF layer.
[ 15903]
Avoid expensive paranoid check that decoder does return legal UTF-8
p4raw-link: @15904 on //depot/perlio: 3b4bd3fd9ce156dd5810f53e7d2c862917be2cb9
p4raw-link: @15903 on //depot/perlio: 3c49ab0895e2c3f761f88c5acb6e1dc985476785
p4raw-id: //depot/perl@15909
Diffstat (limited to 'ext')
-rw-r--r-- | ext/Encode/Encode.xs | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/ext/Encode/Encode.xs b/ext/Encode/Encode.xs index a911866b34..470f14eb13 100644 --- a/ext/Encode/Encode.xs +++ b/ext/Encode/Encode.xs @@ -248,9 +248,11 @@ PerlIOEncode_fill(pTHX_ PerlIO * f) /* Now get translated string (forced to UTF-8) and use as buffer */ if (SvPOK(uni)) { s = SvPVutf8(uni, len); +#ifdef PARANOID_ENCODE_CHECKS if (len && !is_utf8_string((U8*)s,len)) { Perl_warn(aTHX_ "panic: decode did not return UTF-8 '%.*s'",(int) len,s); } +#endif } if (len > 0) { /* Got _something */ @@ -499,9 +501,9 @@ encode_method(pTHX_ encode_t * enc, encpage_t * dir, SV * src, STRLEN ddone = 0; STRLEN sdone = 0; - /* We allocate slen+1. + /* We allocate slen+1. PerlIO dumps core if this value is smaller than this. */ - SV *dst = sv_2mortal(newSV(slen+1)); + SV *dst = sv_2mortal(newSV(slen+1)); if (slen) { U8 *d = (U8 *) SvPVX(dst); STRLEN dlen = SvLEN(dst)-1; @@ -526,7 +528,7 @@ encode_method(pTHX_ encode_t * enc, encpage_t * dir, SV * src, ddone += dlen; sleft = tlen - sdone; #if ENCODE_XS_PROFILE >= 2 - Perl_warn(aTHX_ + Perl_warn(aTHX_ "more=%d, sdone=%d, sleft=%d, SvLEN(dst)=%d\n", more, sdone, sleft, SvLEN(dst)); #endif @@ -543,7 +545,7 @@ encode_method(pTHX_ encode_t * enc, encpage_t * dir, SV * src, } more += UTF8_MAXLEN; /* insurance policy */ #if ENCODE_XS_PROFILE >= 2 - Perl_warn(aTHX_ + Perl_warn(aTHX_ "more=%d, sdone=%d, sleft=%d, SvLEN(dst)=%d\n", more, sdone, sleft, SvLEN(dst)); #endif @@ -620,14 +622,14 @@ encode_method(pTHX_ encode_t * enc, encpage_t * dir, SV * src, } #if ENCODE_XS_PROFILE if (SvCUR(dst) > SvCUR(src)){ - Perl_warn(aTHX_ + Perl_warn(aTHX_ "SvLEN(dst)=%d, SvCUR(dst)=%d. " "%d bytes unused(%f %%)\n", - SvLEN(dst), SvCUR(dst), SvLEN(dst) - SvCUR(dst), + SvLEN(dst), SvCUR(dst), SvLEN(dst) - SvCUR(dst), (SvLEN(dst) - SvCUR(dst))*1.0/SvLEN(dst)*100.0); - + } -#endif +#endif *SvEND(dst) = '\0'; return dst; } |