diff options
author | Steve Peters <steve@fisharerojo.org> | 2007-05-13 16:47:40 +0000 |
---|---|---|
committer | Steve Peters <steve@fisharerojo.org> | 2007-05-13 16:47:40 +0000 |
commit | 742555bdc91466b79b2d8e3bb1e4cfd8a1dc6c3c (patch) | |
tree | 7d5eab3f5b5f670496d288e2b67973788557bfad /ext/Encode/Encode.xs | |
parent | 3839a0fa28dfb81de1e2a571399e4a094f13e6c9 (diff) | |
download | perl-742555bdc91466b79b2d8e3bb1e4cfd8a1dc6c3c.tar.gz |
Upgrade to Encode-2.21
p4raw-id: //depot/perl@31212
Diffstat (limited to 'ext/Encode/Encode.xs')
-rw-r--r-- | ext/Encode/Encode.xs | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/ext/Encode/Encode.xs b/ext/Encode/Encode.xs index fe645b60c2..9de0a64e29 100644 --- a/ext/Encode/Encode.xs +++ b/ext/Encode/Encode.xs @@ -1,5 +1,5 @@ /* - $Id: Encode.xs,v 2.11 2007/04/06 12:53:41 dankogai Exp $ + $Id: Encode.xs,v 2.12 2007/05/12 06:42:19 dankogai Exp dankogai $ */ #define PERL_NO_GET_CONTEXT @@ -650,6 +650,35 @@ CODE: XSRETURN(1); } +void +Method_mime_name(obj) +SV * obj +CODE: +{ + encode_t *enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); + SV *retval; + eval_pv("require Encode::MIME::Name", 0); + + if (SvTRUE(get_sv("@", 0))) { + ST(0) = &PL_sv_undef; + }else{ + ENTER; + SAVETMPS; + PUSHMARK(sp); + XPUSHs(sv_2mortal(newSVpvn(enc->name[0], strlen(enc->name[0])))); + PUTBACK; + call_pv("Encode::MIME::Name::get_mime_name", G_SCALAR); + SPAGAIN; + retval = newSVsv(POPs); + PUTBACK; + FREETMPS; + LEAVE; + /* enc->name[0] */ + ST(0) = retval; + } + XSRETURN(1); +} + MODULE = Encode PACKAGE = Encode PROTOTYPES: ENABLE |