summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Kerr <charles@rebelbase.com>2001-10-03 18:27:42 +0000
committerTov Are Jacobsen <charles@src.gnome.org>2001-10-03 18:27:42 +0000
commit83454b53c7e26cafc56df9fbf02c7b1555327034 (patch)
treeb9c99b0b8e7bd67d639b11082bdfce96796e2b8a
parenta8a4c184bdd333751009bd4081e169da5891ba6a (diff)
downloadgmime-83454b53c7e26cafc56df9fbf02c7b1555327034.tar.gz
added support for decoding a uuencoded stream; added a placeholder for
2001-10-03 Charles Kerr <charles@rebelbase.com> * gmime-filter-basic.[ch]: added support for decoding a uuencoded stream; added a placeholder for uuencoding a stream. * md5-utils.c: commented out d(x) macro.
-rw-r--r--ChangeLog7
-rw-r--r--gmime-filter-basic.c11
-rw-r--r--gmime-filter-basic.h3
-rw-r--r--gmime/gmime-filter-basic.c11
-rw-r--r--gmime/gmime-filter-basic.h3
-rw-r--r--gmime/md5-utils.c4
-rw-r--r--md5-utils.c4
7 files changed, 43 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 467544b0..39cddd29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2001-10-03 Charles Kerr <charles@rebelbase.com>
+
+ * gmime-filter-basic.[ch]: added support for decoding a uuencoded
+ stream; added a placeholder for uuencoding a stream.
+
+ * md5-utils.c: commented out d(x) macro.
+
2001-10-02 Jeffrey Stedfast <fejj@ximian.com>
* gmime-stream-buffer.h: buflen should be an ssize_t not a
diff --git a/gmime-filter-basic.c b/gmime-filter-basic.c
index 7bbde34c..91a9a132 100644
--- a/gmime-filter-basic.c
+++ b/gmime-filter-basic.c
@@ -61,6 +61,7 @@ g_mime_filter_basic_new_type (GMimeFilterBasicType type)
new->type = type;
new->state = 0;
new->save = 0;
+ new->uulen = 0;
g_mime_filter_construct (GMIME_FILTER (new), &template);
@@ -105,6 +106,10 @@ filter_filter (GMimeFilter *filter, char *in, size_t len, size_t prespace,
newlen = g_mime_utils_quoted_encode_step (in, len, filter->outbuf, &basic->state, &basic->save);
g_assert (newlen <= len * 4 + 4);
break;
+ case GMIME_FILTER_BASIC_UU_ENC:
+ g_message ("FIXME: Implement this");
+ newlen = 0;
+ break;
case GMIME_FILTER_BASIC_BASE64_DEC:
/* output can't possibly exceed the input size */
g_mime_filter_set_size (filter, len + 3, FALSE);
@@ -117,6 +122,11 @@ filter_filter (GMimeFilter *filter, char *in, size_t len, size_t prespace,
newlen = g_mime_utils_quoted_decode_step (in, len, filter->outbuf, &basic->state, &basic->save);
g_assert (newlen <= len);
break;
+ case GMIME_FILTER_BASIC_UU_DEC:
+ /* output can't possibly exceed the input size */
+ g_mime_filter_set_size (filter, len, FALSE);
+ newlen = g_mime_utils_uudecode_step (in, len, filter->outbuf, &basic->state, &basic->save, &basic->uulen);
+ break;
}
*out = filter->outbuf;
@@ -177,4 +187,5 @@ filter_reset (GMimeFilter *filter)
basic->state = 0;
}
basic->save = 0;
+ basic->uulen = 0;
}
diff --git a/gmime-filter-basic.h b/gmime-filter-basic.h
index f220fd18..912a9f6b 100644
--- a/gmime-filter-basic.h
+++ b/gmime-filter-basic.h
@@ -36,6 +36,8 @@ typedef enum {
GMIME_FILTER_BASIC_BASE64_DEC,
GMIME_FILTER_BASIC_QP_ENC,
GMIME_FILTER_BASIC_QP_DEC,
+ GMIME_FILTER_BASIC_UU_ENC,
+ GMIME_FILTER_BASIC_UU_DEC,
} GMimeFilterBasicType;
typedef struct _GMimeFilterBasic {
@@ -45,6 +47,7 @@ typedef struct _GMimeFilterBasic {
int state;
int save;
+ int uulen;
} GMimeFilterBasic;
GMimeFilter *g_mime_filter_basic_new_type (GMimeFilterBasicType type);
diff --git a/gmime/gmime-filter-basic.c b/gmime/gmime-filter-basic.c
index 7bbde34c..91a9a132 100644
--- a/gmime/gmime-filter-basic.c
+++ b/gmime/gmime-filter-basic.c
@@ -61,6 +61,7 @@ g_mime_filter_basic_new_type (GMimeFilterBasicType type)
new->type = type;
new->state = 0;
new->save = 0;
+ new->uulen = 0;
g_mime_filter_construct (GMIME_FILTER (new), &template);
@@ -105,6 +106,10 @@ filter_filter (GMimeFilter *filter, char *in, size_t len, size_t prespace,
newlen = g_mime_utils_quoted_encode_step (in, len, filter->outbuf, &basic->state, &basic->save);
g_assert (newlen <= len * 4 + 4);
break;
+ case GMIME_FILTER_BASIC_UU_ENC:
+ g_message ("FIXME: Implement this");
+ newlen = 0;
+ break;
case GMIME_FILTER_BASIC_BASE64_DEC:
/* output can't possibly exceed the input size */
g_mime_filter_set_size (filter, len + 3, FALSE);
@@ -117,6 +122,11 @@ filter_filter (GMimeFilter *filter, char *in, size_t len, size_t prespace,
newlen = g_mime_utils_quoted_decode_step (in, len, filter->outbuf, &basic->state, &basic->save);
g_assert (newlen <= len);
break;
+ case GMIME_FILTER_BASIC_UU_DEC:
+ /* output can't possibly exceed the input size */
+ g_mime_filter_set_size (filter, len, FALSE);
+ newlen = g_mime_utils_uudecode_step (in, len, filter->outbuf, &basic->state, &basic->save, &basic->uulen);
+ break;
}
*out = filter->outbuf;
@@ -177,4 +187,5 @@ filter_reset (GMimeFilter *filter)
basic->state = 0;
}
basic->save = 0;
+ basic->uulen = 0;
}
diff --git a/gmime/gmime-filter-basic.h b/gmime/gmime-filter-basic.h
index f220fd18..912a9f6b 100644
--- a/gmime/gmime-filter-basic.h
+++ b/gmime/gmime-filter-basic.h
@@ -36,6 +36,8 @@ typedef enum {
GMIME_FILTER_BASIC_BASE64_DEC,
GMIME_FILTER_BASIC_QP_ENC,
GMIME_FILTER_BASIC_QP_DEC,
+ GMIME_FILTER_BASIC_UU_ENC,
+ GMIME_FILTER_BASIC_UU_DEC,
} GMimeFilterBasicType;
typedef struct _GMimeFilterBasic {
@@ -45,6 +47,7 @@ typedef struct _GMimeFilterBasic {
int state;
int save;
+ int uulen;
} GMimeFilterBasic;
GMimeFilter *g_mime_filter_basic_new_type (GMimeFilterBasicType type);
diff --git a/gmime/md5-utils.c b/gmime/md5-utils.c
index f792d1ae..57b43879 100644
--- a/gmime/md5-utils.c
+++ b/gmime/md5-utils.c
@@ -27,7 +27,11 @@
#include <string.h>
#include "md5-utils.h"
+#if 0
#define d(x) x
+#else
+#define d(x)
+#endif
static void md5_transform (guint32 buf[4], const guint32 in[16]);
diff --git a/md5-utils.c b/md5-utils.c
index f792d1ae..57b43879 100644
--- a/md5-utils.c
+++ b/md5-utils.c
@@ -27,7 +27,11 @@
#include <string.h>
#include "md5-utils.h"
+#if 0
#define d(x) x
+#else
+#define d(x)
+#endif
static void md5_transform (guint32 buf[4], const guint32 in[16]);