X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FEncode%2FEncode.xs;h=9bd8a4ce1e0cbf575d6649b4c13d58c00e4e2e4e;hb=5129552cc421a69f6981a03ac0ecc86b5722d1e6;hp=bf2fd515e55a5b964cd4c55cf914d120c43d070b;hpb=284ee456826016ea93485015648c2b3b4b3bcd40;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/Encode/Encode.xs b/ext/Encode/Encode.xs index bf2fd51..9bd8a4c 100644 --- a/ext/Encode/Encode.xs +++ b/ext/Encode/Encode.xs @@ -5,10 +5,10 @@ #include "XSUB.h" #define U8 U8 #include "encode.h" -#include "8859.h" -#include "EBCDIC.h" -#include "Symbols.h" - +/* #include "8859.h" */ +/* #include "EBCDIC.h" */ +/* #include "Symbols.h" */ +#include "defcodes.h" #define UNIMPLEMENTED(x,y) y x (SV *sv, char *encoding) {dTHX; \ Perl_croak(aTHX_ "panic_unimplemented"); \ @@ -91,7 +91,7 @@ PerlIOEncode_pushed(pTHX_ PerlIO * f, const char *mode, SV * arg) if (!SvROK(e->enc)) { e->enc = Nullsv; errno = EINVAL; - Perl_warner(aTHX_ WARN_IO, "Cannot find encoding \"%" SVf "\"", + Perl_warner(aTHX_ packWARN(WARN_IO), "Cannot find encoding \"%" SVf "\"", arg); code = -1; } @@ -541,7 +541,7 @@ encode_method(pTHX_ encode_t * enc, encpage_t * dir, SV * src, UV ch = utf8n_to_uvuni(s + slen, (SvCUR(src) - slen), &clen, 0); - Perl_warner(aTHX_ WARN_UTF8, + Perl_warner(aTHX_ packWARN(WARN_UTF8), "\"\\N{U+%" UVxf "}\" does not map to %s", ch, enc->name[0]); @@ -555,10 +555,12 @@ encode_method(pTHX_ encode_t * enc, encpage_t * dir, SV * src, } } else { - /* UTF-8 is supposed to be "Universal" so should not happen */ - Perl_croak(aTHX_ "%s '%.*s' does not map to UTF-8", - enc->name[0], (int) (SvCUR(src) - slen), - s + slen); + /* UTF-8 is supposed to be "Universal" so should not happen + for real characters, but some encodings have non-assigned + codes which may occur. + */ + Perl_croak(aTHX_ "%s \"\\x%02X\" does not map to Unicode (%d)", + enc->name[0], (U8) s[slen], code); } break; @@ -780,7 +782,8 @@ BOOT: #if defined(USE_PERLIO) && !defined(USE_SFIO) PerlIO_define_layer(aTHX_ &PerlIO_encode); #endif -#include "8859_def.h" -#include "EBCDIC_def.h" -#include "Symbols_def.h" +/* #include "8859_def.h" */ +/* #include "EBCDIC_def.h" */ +/* #include "Symbols_def.h" */ +#include "defcodes_def.h" }