aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog3
-rw-r--r--mail/em-inline-filter.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 43beeb0e0e..8399808eac 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,8 @@
2004-04-21 Not Zed <NotZed@Ximian.com>
+ * em-inline-filter.c (emif_scan): use a better test for non-full
+ lines.
+
* em-folder-browser.c (emfb_activate): dont desensitise
HideDeleted just 'cause we have no folder, it needs to depend on
Trash folder only.
diff --git a/mail/em-inline-filter.c b/mail/em-inline-filter.c
index 1144cff503..9fc4294139 100644
--- a/mail/em-inline-filter.c
+++ b/mail/em-inline-filter.c
@@ -228,12 +228,14 @@ emif_scan(CamelMimeFilter *f, char *in, size_t len, int final)
int len, linelen;
/* check the length byte matches the data, if not, output what we have and re-scan this line */
- len = ((start[0] - ' ') & 077) * 4 / 3;
+ len = ((start[0] - ' ') & 077);
linelen = inptr-start-1;
while (linelen > 0 && (start[linelen] == '\r' || start[linelen] == '\n'))
linelen--;
linelen--;
- if (linelen != len) {
+ linelen /= 4;
+ linelen *= 3;
+ if (!(len == linelen || len == linelen-1 || len == linelen-2)) {
inptr[-1] = '\n';
emif_add_part(emif, data_start, start-data_start);
data_start = start;