diff options
-rw-r--r-- | camel/camel-mime-filter-linewrap.c~ | 146 | ||||
-rw-r--r-- | camel/camel-mime-filter-linewrap.h~ | 51 | ||||
-rw-r--r-- | camel/camel-mime-filter-linewrap.lo | bin | 28948 -> 0 bytes | |||
-rw-r--r-- | camel/camel-mime-filter-linewrap.o | bin | 28816 -> 0 bytes |
4 files changed, 0 insertions, 197 deletions
diff --git a/camel/camel-mime-filter-linewrap.c~ b/camel/camel-mime-filter-linewrap.c~ deleted file mode 100644 index 65c6247945..0000000000 --- a/camel/camel-mime-filter-linewrap.c~ +++ /dev/null @@ -1,146 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Copyright (C) 2000 Helix Code, Inc. - * - * Authors: Jeffrey Stedfast <fejj@helixcode.com> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public License - * as published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * 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 Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include "camel-mime-filter-linewrap.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_linewrap_class_init (CamelMimeFilterLINEWRAPClass *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_linewrap_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register (camel_mime_filter_get_type(), "CamelMimeFilterLinewrap", - sizeof (CamelMimeFilterLinewrap), - sizeof (CamelMimeFilterLinewrapClass), - (CamelObjectClassInitFunc) camel_mime_filter_linewrap_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) -{ - CamelMimeFilterLinewrap *linewrap = (CamelMimeFilterLinewrap *)f; - char *inend, *p, *q; - int nchars = linewrap->nchars; - - /* we'll be adding chars here so we need a bigger buffer */ - camel_mime_filter_set_size (f, 3 * len, FALSE); - - p = in; - q = f->outbuf; - inend = in + len; - - while (p < inend) { - if (*p == '\n') { - *q++ = '\r'; - *q++ = *p++; - nchars = 0; - } else if (*p == ' ') { - char *nwspc; - - /* find the next whitespace char */ - for (nwspc = p + 1; *nwspc != ' ' && *nwspc != '\n' && nwspc < inend; nwspc++); - - /* if the next whitespace char is beyond our preferred wrap_len, then wrap now */ - if (nwspc < inend && (nchars + (nwspc - p)) > linewrap->wrap_len) { - *q++ = '\r'; - *q++ = '\n'; - p++; - nchars = 0; - } else { - *q++ = *p++; - nchars++; - } - } else { - *q++ = *p++; - nchars++; - } - - /* line is getting way too long, we must force a wrap here */ - if (nchars >= (linewrap->max_len - 2) && *p != '\n') { - *q++ = '\r'; - *q++ = '\n'; - *q++ = linewrap->indent; - nchars = 0; - } - } - - linewrap->nchars = nchars; - - *out = f->outbuf; - *outlen = q - 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) -{ - if (len) - filter (f, in, len, prespace, out, outlen, outprespace); -} - -static void -reset (CamelMimeFilter *f) -{ - CamelMimeFilterLinewrap *linewrap = (CamelMimeFilterLinewrap *)f; - - linewrap->nchars = 0; -} - -CamelMimeFilter * -camel_mime_filter_linewrap_new (guint preferred_len, guint max_len, char indent_char) -{ - CamelMimeFilterLinewrap *linewrap = - CAMEL_MIME_FILTER_LINEWRAP (camel_object_new (CAMEL_MIME_FILTER_LINEWRAP_TYPE)); - - linewrap->indent = indent_char; - linewrap->wrap_len = preferred_len; - linewrap->max_len = max_len; - linewrap->nchars = 0; - - return (CamelMimeFilter *) linewrap; -} diff --git a/camel/camel-mime-filter-linewrap.h~ b/camel/camel-mime-filter-linewrap.h~ deleted file mode 100644 index ac216bced0..0000000000 --- a/camel/camel-mime-filter-linewrap.h~ +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Copyright (C) 2000 Helix Code Inc. - * - * Authors: Jeffrey Stedfast <fejj@helixcode.com> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public License - * as published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * 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 Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef _CAMEL_MIME_FILTER_LINEWRAP_H -#define _CAMEL_MIME_FILTER_LINEWRAP_H - -#include <camel/camel-mime-filter.h> - -#define CAMEL_MIME_FILTER_LINEWRAP_TYPE (camel_mime_filter_crlf_get_type ()) -#define CAMEL_MIME_FILTER_LINEWRAP(obj) CAMEL_CHECK_CAST (obj, CAMEL_MIME_FILTER_LINEWRAP_TYPE, CamelMimeFilterLinewrap) -#define CAMEL_MIME_FILTER_LINEWRAP_CLASS(klass) CAMEL_CHECK_CLASS_CAST (klass, CAMEL_MIME_FILTER_LINEWRAP_TYPE, CamelMimeFilterLinewrapClass) -#define CAMEL_IS_MIME_FILTER_LINEWRAP(obj) CAMEL_CHECK_TYPE (obj, CAMEL_MIME_FILTER_LINEWRAP_TYPE) - -typedef struct _CamelMimeFilterLinewrapClass CamelMimeFilterLinewrapClass; - -struct _CamelMimeFilterLinewrap { - CamelMimeFilter parent; - - guint wrap_len; - guint max_len; - char indent; - int nchars; -}; - -struct _CamelMimeFilterLinewrapClass { - CamelMimeFilterClass parent_class; -}; - -CamelType camel_mime_filter_linewrap_get_type (void); - -CamelMimeFilter *camel_mime_filter_linewrap_new (guint preferred_len, guint max_len, char indent_char); - -#endif /* ! _CAMEL_MIME_FILTER_LINEWRAP_H */ diff --git a/camel/camel-mime-filter-linewrap.lo b/camel/camel-mime-filter-linewrap.lo Binary files differdeleted file mode 100644 index d419969721..0000000000 --- a/camel/camel-mime-filter-linewrap.lo +++ /dev/null diff --git a/camel/camel-mime-filter-linewrap.o b/camel/camel-mime-filter-linewrap.o Binary files differdeleted file mode 100644 index d9d7cba463..0000000000 --- a/camel/camel-mime-filter-linewrap.o +++ /dev/null |