[evolution-patches] Preserve headers in display.



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]