aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-mime-filter-chomp.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-mime-filter-chomp.c')
-rw-r--r--camel/camel-mime-filter-chomp.c154
1 files changed, 0 insertions, 154 deletions
diff --git a/camel/camel-mime-filter-chomp.c b/camel/camel-mime-filter-chomp.c
deleted file mode 100644
index 67a6e71ed7..0000000000
--- a/camel/camel-mime-filter-chomp.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2002 Ximian, Inc.
- *
- * Authors: Jeffrey Stedfast <fejj@ximian.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <ctype.h>
-
-#include "camel-mime-filter-chomp.h"
-
-static void filter (CamelMimeFilter *f, char *in, size_t len, size_t prespace,
- char **out, size_t *outlen, size_t *outprespace);
-static void complete (CamelMimeFilter *f, char *in, size_t len,
- size_t prespace, char **out, size_t *outlen,
- size_t *outprespace);
-static void reset (CamelMimeFilter *f);
-
-
-static void
-camel_mime_filter_chomp_class_init (CamelMimeFilterChompClass *klass)
-{
- CamelMimeFilterClass *mime_filter_class =
- (CamelMimeFilterClass *) klass;
-
- mime_filter_class->filter = filter;
- mime_filter_class->complete = complete;
- mime_filter_class->reset = reset;
-}
-
-CamelType
-camel_mime_filter_chomp_get_type (void)
-{
- static CamelType type = CAMEL_INVALID_TYPE;
-
- if (type == CAMEL_INVALID_TYPE) {
- type = camel_type_register (camel_mime_filter_get_type(), "CamelMimeFilterChomp",
- sizeof (CamelMimeFilterChomp),
- sizeof (CamelMimeFilterChompClass),
- (CamelObjectClassInitFunc) camel_mime_filter_chomp_class_init,
- NULL,
- NULL,
- NULL);
- }
-
- return type;
-}
-
-static void
-filter (CamelMimeFilter *f, char *in, size_t len, size_t prespace,
- char **out, size_t *outlen, size_t *outprespace)
-{
- register unsigned char *inptr, *s;
- const unsigned char *inend;
- register char *outptr;
-
- camel_mime_filter_set_size (f, len + prespace, FALSE);
-
- inend = in + len;
- inptr = in;
-
- outptr = f->outbuf;
-
- while (inptr < inend) {
- s = inptr;
- while (inptr < inend && isspace ((int) *inptr))
- inptr++;
-
- if (inptr < inend) {
- while (s < inptr)
- *outptr++ = (char) *s++;
-
- while (inptr < inend && !isspace ((int) *inptr))
- *outptr++ = (char) *inptr++;
- } else {
-#if 0
- if ((inend - s) >= 2 && *s == '\r' && *(s + 1) == '\n')
- *outptr++ = *s++;
- if (*s == '\n')
- *outptr++ = *s++;
-#endif
- if (s < inend)
- camel_mime_filter_backup (f, s, inend - s);
- break;
- }
- }
-
- *out = f->outbuf;
- *outlen = outptr - f->outbuf;
- *outprespace = f->outpre;
-}
-
-static void
-complete (CamelMimeFilter *f, char *in, size_t len, size_t prespace,
- char **out, size_t *outlen, size_t *outprespace)
-{
- unsigned char *inptr;
- char *outptr;
-
- if (len)
- filter (f, in, len, prespace, out, outlen, outprespace);
-
- if (f->backlen) {
- inptr = (unsigned char *) f->backbuf;
- outptr = f->outbuf + *outlen;
-
- /* in the case of a canonical eoln */
- if (*inptr == '\r' && *(inptr + 1) == '\n') {
- *outptr++ = *inptr++;
- (*outlen)++;
- }
-
- if (*inptr == '\n') {
- *outptr++ = *inptr++;
- (*outlen)++;
- }
-
- /* to protect against further complete calls */
- camel_mime_filter_backup (f, "", 0);
- }
-}
-
-static void
-reset (CamelMimeFilter *f)
-{
- /* no-op */
-}
-
-CamelMimeFilter *
-camel_mime_filter_chomp_new (void)
-{
- CamelMimeFilterChomp *chomp = CAMEL_MIME_FILTER_CHOMP (camel_object_new (CAMEL_MIME_FILTER_CHOMP_TYPE));
-
- return (CamelMimeFilter *) chomp;
-}