MIME-Explode
view release on metacpan or search on metacpan
PROTOTYPES: DISABLE
void
exp_rfc822_qprint(source)
SV *source
PREINIT:
STRLEN srcl;
unsigned long len;
unsigned char *s;
PPCODE:
s = (unsigned char*)SvPV(source, srcl);
if(s = _rfc822_qprint(s, (unsigned long)srcl, &len)) {
XPUSHs(sv_2mortal(newSVpv((char*)s, (STRLEN)len)));
Safefree(s);
}
void
exp_rfc822_base64(source)
SV *source
PREINIT:
STRLEN srcl;
unsigned long len;
unsigned char *s;
PPCODE:
s = (unsigned char*)SvPV(source, srcl);
if(s = _rfc822_base64(s, (unsigned long)srcl, &len)) {
XPUSHs(sv_2mortal(newSVpv((char*)s, (STRLEN)len)));
Safefree(s);
}
void
exp_set_content_type(source, ...)
SV *source
PREINIT:
STRLEN srcl;
unsigned char *s;
char *base = NULL;
char *mt;
PPCODE:
if(items == 2) base = SvPV(ST(1), PL_na);
s = (unsigned char*)SvPV(source, srcl);
mt = set_mime_type(s, (unsigned long)srcl, base);
XPUSHs(sv_2mortal(newSVpv(mt, (STRLEN)strlen(mt))));
void
exp_uu_file(fhs, filename, mode, ...)
SV *fhs;
char *filename;
SV *buff_sv = newSV(BUFFLEN);
unsigned long len = 0;
unsigned char *decoded = NULL;
bool verify = TRUE;
bool exclude = FALSE;
bool action = TRUE;
char mimetype[BUFFLEN] = "";
AV *av_ret = newAV();
char tmp[TMPBUFFLEN];
unsigned long tmplen = 0;
PPCODE:
if((avlen = av_len(av_fhs)) != -1) {
fpin = IoIFP(sv_2io(*av_fetch(av_fhs, 0, 0)));
if(avlen == 1)
fptmp = IoIFP(sv_2io(*av_fetch(av_fhs, 1, 0)));
} else
croak("Null Array Reference");
if(items == 4) {
HV *hv = (HV*)SvRV(ST(3));
if(hv_exists(hv, "action", 6)) {
I32 avlen = 0;
HV *hvtypes;
AV *av_ret = newAV();
AV *av_fhs = (AV*)SvRV(fhs);
unsigned long len = 0;
char tmp[TMPBUFFLEN];
unsigned long tmplen = 0;
answers findmbox = NO;
answers endbase64 = NO;
char *mimetype;
PPCODE:
if((avlen = av_len(av_fhs)) != -1) {
fpin = IoIFP(sv_2io(*av_fetch(av_fhs, 0, 0)));
if(avlen == 1)
fptmp = IoIFP(sv_2io(*av_fetch(av_fhs, 1, 0)));
} else
croak("Null Array Reference");
if(items == 5) {
HV *hv = (HV*)SvRV(ST(4));
if(hv_exists(hv, "mimetype", 8)) {
SV **value = hv_fetch(hv, "mimetype", 8, 0);
( run in 0.618 second using v1.01-cache-2.11-cpan-5511b514fd6 )