diff options
Diffstat (limited to 'ext/mailparse/rfc2045acprep.c')
-rw-r--r-- | ext/mailparse/rfc2045acprep.c | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/ext/mailparse/rfc2045acprep.c b/ext/mailparse/rfc2045acprep.c deleted file mode 100644 index acbc560092..0000000000 --- a/ext/mailparse/rfc2045acprep.c +++ /dev/null @@ -1,99 +0,0 @@ -/* $Id$ */ - -/* -** Copyright 1998 - 1999 Double Precision, Inc. See COPYING for -** distribution information. -*/ -#include "php.h" -#include "php_mailparse.h" - - -static void start_rwprep(struct rfc2045ac *, struct rfc2045 *); -static void do_rwprep(struct rfc2045ac *, const char *, size_t); -static void end_rwprep(struct rfc2045ac *); - -static struct rfc2045ac rfc2045acprep={ - &start_rwprep, - &do_rwprep, - &end_rwprep}; - -#define h2nyb(c) ( (c) >= 'a' && (c) <= 'f' ? (c)-('a'-10): \ - (c) >= 'A' && (c) <= 'F' ? (c)-('A'-10): (c)-'0') - -struct rfc2045 *rfc2045_alloc_ac() -{ - struct rfc2045 *p=rfc2045_alloc(); - - if (p) - { - p->rfc2045acptr = emalloc(sizeof(struct rfc2045ac)); - memcpy(p->rfc2045acptr, &rfc2045acprep, sizeof(struct rfc2045ac)); - p->rfc2045acptr->curlinepos = 0; - p->rfc2045acptr->currwp = NULL; - } - return (p); -} - - -static void start_rwprep(struct rfc2045ac * this_ptr, struct rfc2045 *p) -{ - this_ptr->currwp = p; - this_ptr->curlinepos=0; - this_ptr->curstate=rfc2045ac_raw; - if (p->content_transfer_encoding) - { - if (strcmp(p->content_transfer_encoding, - "quoted-printable") == 0) - this_ptr->curstate = rfc2045ac_quotedprint; - else if (strcmp(p->content_transfer_encoding, "base64") == 0) - this_ptr->curstate = rfc2045ac_base64; - } -} - -static void do_rwprep(struct rfc2045ac * this_ptr, const char * p, size_t n) -{ - if (!this_ptr->currwp) - return; - for ( ; n; --n, ++p) - switch (this_ptr->curstate) { - case rfc2045ac_quotedprint: - if (*p == '=') - { - this_ptr->curstate = rfc2045ac_qpseeneq; - continue; - } - /* FALLTHRU */ - case rfc2045ac_raw: - if (*p == '\r' || *p == '\n') - this_ptr->curlinepos = 0; - else if (++this_ptr->curlinepos > 500) - this_ptr->currwp->haslongline = 1; - if ((unsigned char)*p >= 127) - this_ptr->currwp->has8bitchars = 1; - break; - case rfc2045ac_qpseeneq: - if (*p == '\n') - { - this_ptr->curstate = rfc2045ac_quotedprint; - continue; - } - if (isspace((int)(unsigned char)*p)) continue; /* Ignore WSP */ - this_ptr->statechar = *p; - this_ptr->curstate = rfc2045ac_qpseeneqh; - continue; - case rfc2045ac_qpseeneqh: - this_ptr->curstate = rfc2045ac_quotedprint; - if ( (unsigned char) - ( (h2nyb(this_ptr->statechar) << 4) + h2nyb(*p) ) >= 127 - ) this_ptr->currwp->has8bitchars=1; - if (++this_ptr->curlinepos > 500) - this_ptr->currwp->haslongline=1; - continue; - case rfc2045ac_base64: - break; - } -} - -static void end_rwprep(struct rfc2045ac * this_ptr) -{ -} |