summaryrefslogtreecommitdiff
path: root/ext/mailparse/rfc2045acprep.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mailparse/rfc2045acprep.c')
-rw-r--r--ext/mailparse/rfc2045acprep.c99
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)
-{
-}