[evolution-patches] Preserve headers in display.
- From: David Woodhouse <dwmw2 infradead org>
- To: evolution-patches ximian com
- Subject: [evolution-patches] Preserve headers in display.
- Date: Tue, 06 Jan 2004 18:40:04 +0000
Another UI fix... this time to make Evolution preserve headers when
parsing an incoming mail. Again a pair of before/after screenshots
showing the improvement:
http://www.infradead.org/~dwmw2/evo-munging-headers.jpeg
http://www.infradead.org/~dwmw2/evo-preserving-headers.jpeg
The parser already had an option to behave like this, preserving
information, but it was buggy, which may well have been why it was
disabled. This patch both fixes and enables it.
Index: camel/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.1949
diff -u -p -r1.1949 ChangeLog
--- camel/ChangeLog 5 Jan 2004 20:55:27 -0000 1.1949
+++ camel/ChangeLog 6 Jan 2004 18:36:49 -0000
@@ -1,3 +1,7 @@
+2004-01-06 David Woodhouse <dwmw2 infradead org>
+
+ * camel-mime-parser.c: Fix and enable PRESERVE_HEADERS
+
2004-01-05 JP Rosevear <jpr ximian com>
* camel-utf8.c: include sys/types.h for freebsd
Index: camel/camel-mime-parser.c
===================================================================
RCS file: /cvs/gnome/evolution/camel/camel-mime-parser.c,v
retrieving revision 1.59
diff -u -p -r1.59 camel-mime-parser.c
--- camel/camel-mime-parser.c 13 Nov 2003 23:20:50 -0000 1.59
+++ camel/camel-mime-parser.c 6 Jan 2004 18:36:49 -0000
@@ -51,7 +51,7 @@
#define c(x)
#define d(x)
-/*#define PRESERVE_HEADERS*/
+#define PRESERVE_HEADERS
/*#define PURIFY*/
@@ -1293,12 +1293,15 @@ folder_scan_header(struct _header_scan_s
s->midline = FALSE;
#ifdef PRESERVE_HEADERS
header_append(s, start, inptr);
+ /* check for end of headers */
+ if (s->outbuf + 1 == s->outptr)
+ goto header_done;
#else
header_append(s, start, inptr-1);
-#endif
/* check for end of headers */
if (s->outbuf == s->outptr)
goto header_done;
+#endif
/* check for continuation/compress headers, we have atleast 1 char here to work with */
if (inptr[0] == ' ' || inptr[0] == '\t') {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]