aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@helixcode.com>2000-07-22 03:48:43 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2000-07-22 03:48:43 +0800
commit908df637f32ce2cb2688062fbe41792608c83e21 (patch)
tree11921c75392559dbe1b58de3f87ef49d085c76ac
parentdcd508a9a1959d54034b088481e6e4221cd17e31 (diff)
downloadgsoc2013-evolution-908df637f32ce2cb2688062fbe41792608c83e21.tar
gsoc2013-evolution-908df637f32ce2cb2688062fbe41792608c83e21.tar.gz
gsoc2013-evolution-908df637f32ce2cb2688062fbe41792608c83e21.tar.bz2
gsoc2013-evolution-908df637f32ce2cb2688062fbe41792608c83e21.tar.lz
gsoc2013-evolution-908df637f32ce2cb2688062fbe41792608c83e21.tar.xz
gsoc2013-evolution-908df637f32ce2cb2688062fbe41792608c83e21.tar.zst
gsoc2013-evolution-908df637f32ce2cb2688062fbe41792608c83e21.zip
Updated with some of the same fixes I've made to camel-imap-folder.c like
2000-07-21 Jeffrey Stedfast <fejj@helixcode.com> * 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
-rw-r--r--camel/ChangeLog4
-rw-r--r--camel/providers/imap/camel-imap-stream.c6
2 files changed, 7 insertions, 3 deletions
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 <fejj@helixcode.com>
+ * 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;