summaryrefslogtreecommitdiff
path: root/ext/Encode/Encode.xs
diff options
context:
space:
mode:
authorSteve Peters <steve@fisharerojo.org>2007-05-13 16:47:40 +0000
committerSteve Peters <steve@fisharerojo.org>2007-05-13 16:47:40 +0000
commit742555bdc91466b79b2d8e3bb1e4cfd8a1dc6c3c (patch)
tree7d5eab3f5b5f670496d288e2b67973788557bfad /ext/Encode/Encode.xs
parent3839a0fa28dfb81de1e2a571399e4a094f13e6c9 (diff)
downloadperl-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.xs31
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