[PATCH 1/6] lib: add content type argument to uuencode filter.
David Bremner
david at tethera.net
Wed May 10 04:39:05 PDT 2017
The idea is to support more general types of filtering, based on
content type.
---
lib/index.cc | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/lib/index.cc b/lib/index.cc
index 8c145540..1c04cc3d 100644
--- a/lib/index.cc
+++ b/lib/index.cc
@@ -56,6 +56,7 @@ typedef struct _NotmuchFilterDiscardUuencodeClass NotmuchFilterDiscardUuencodeCl
**/
struct _NotmuchFilterDiscardUuencode {
GMimeFilter parent_object;
+ GMimeContentType *content_type;
int state;
};
@@ -63,7 +64,7 @@ struct _NotmuchFilterDiscardUuencodeClass {
GMimeFilterClass parent_class;
};
-static GMimeFilter *notmuch_filter_discard_uuencode_new (void);
+static GMimeFilter *notmuch_filter_discard_uuencode_new (GMimeContentType *content);
static void notmuch_filter_discard_uuencode_finalize (GObject *object);
@@ -102,8 +103,9 @@ notmuch_filter_discard_uuencode_finalize (GObject *object)
static GMimeFilter *
filter_copy (GMimeFilter *gmime_filter)
{
- (void) gmime_filter;
- return notmuch_filter_discard_uuencode_new ();
+ NotmuchFilterDiscardUuencode *filter = (NotmuchFilterDiscardUuencode *) gmime_filter;
+
+ return notmuch_filter_discard_uuencode_new (filter->content_type);
}
static void
@@ -196,7 +198,7 @@ filter_reset (GMimeFilter *gmime_filter)
* Returns: a new #NotmuchFilterDiscardUuencode filter.
**/
static GMimeFilter *
-notmuch_filter_discard_uuencode_new (void)
+notmuch_filter_discard_uuencode_new (GMimeContentType *content_type)
{
static GType type = 0;
NotmuchFilterDiscardUuencode *filter;
@@ -220,6 +222,7 @@ notmuch_filter_discard_uuencode_new (void)
filter = (NotmuchFilterDiscardUuencode *) g_object_newv (type, 0, NULL);
filter->state = 0;
+ filter->content_type = content_type;
return (GMimeFilter *) filter;
}
@@ -396,7 +399,7 @@ _index_mime_part (notmuch_message_t *message,
g_mime_stream_mem_set_owner (GMIME_STREAM_MEM (stream), FALSE);
filter = g_mime_stream_filter_new (stream);
- discard_uuencode_filter = notmuch_filter_discard_uuencode_new ();
+ discard_uuencode_filter = notmuch_filter_discard_uuencode_new (content_type);
g_mime_stream_filter_add (GMIME_STREAM_FILTER (filter),
discard_uuencode_filter);
--
2.11.0
More information about the notmuch
mailing list