From 908df637f32ce2cb2688062fbe41792608c83e21 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 21 Jul 2000 19:48:43 +0000 Subject: Updated with some of the same fixes I've made to camel-imap-folder.c like 2000-07-21 Jeffrey Stedfast * providers/imap/camel-imap-stream.c (stream_read): Updated with some of the same fixes I've made to camel-imap-folder.c like recalculating message part lengths. svn path=/trunk/; revision=4266 --- camel/ChangeLog | 4 ++++ camel/providers/imap/camel-imap-stream.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'camel') diff --git a/camel/ChangeLog b/camel/ChangeLog index 74b3ce3b8d..6deb5a1d91 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,5 +1,9 @@ 2000-07-21 Jeffrey Stedfast + * providers/imap/camel-imap-stream.c (stream_read): Updated with some of the + same fixes I've made to camel-imap-folder.c like recalculating message part + lengths. + * providers/imap/camel-imap-store.c (camel_imap_command_extended): Rewrote the code to check for "* %d RECENT". Still needs to be modified, but should no longer cause an infinite loop by detecting mis-detecting RECENT messages. diff --git a/camel/providers/imap/camel-imap-stream.c b/camel/providers/imap/camel-imap-stream.c index 9f45ed2291..eb0a48a735 100644 --- a/camel/providers/imap/camel-imap-stream.c +++ b/camel/providers/imap/camel-imap-stream.c @@ -168,10 +168,10 @@ stream_read (CamelStream *stream, char *buffer, size_t n) if (*q == '\n') part_len--; } - /* we want to make sure we get up to the last \n */ - for ( ; *q && *q != '\n'; q++, part_len++); + /* FIXME: This is a hack for IMAP daemons that send us a UID at the end of each FETCH */ + for (q--, part_len--; q > p && *(q-1) != '\n'; q--, part_len--); - imap_stream->cache = g_strndup (p, part_len); + imap_stream->cache = g_strndup (p, part_len + 1); g_free (result); imap_stream->cache_ptr = imap_stream->cache; -- cgit v1.2.3