aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e-util/ChangeLog6
-rw-r--r--e-util/e-html-utils.c44
2 files changed, 22 insertions, 28 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index d9923c0463..9dfc021ecb 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-01 Dan Winship <danw@ximian.com>
+
+ * e-html-utils.c (is_citation): Remove the logic that assumes
+ "Rupert> " is a citation, since it misfires more often than it
+ hits.
+
2002-07-31 Dan Winship <danw@ximian.com>
* e-html-utils.c (is_addr_char, is_trailing_garbage): Don't use
diff --git a/e-util/e-html-utils.c b/e-util/e-html-utils.c
index 958987c475..bc05d26f25 100644
--- a/e-util/e-html-utils.c
+++ b/e-util/e-html-utils.c
@@ -118,41 +118,29 @@ email_address_extract (const unsigned char **cur, char **out, const unsigned cha
static gboolean
is_citation (const unsigned char *c, gboolean saw_citation)
{
- gunichar u;
- gint i;
+ const unsigned char *p;
+
+ if (*c != '>')
+ return FALSE;
/* A line that starts with a ">" is a citation, unless it's
* just mbox From-mangling...
*/
- if (*c == '>') {
- const unsigned char *p;
-
- if (strncmp (c, ">From ", 6) != 0)
- return TRUE;
-
- /* If the previous line was a citation, then say this
- * one is too.
- */
- if (saw_citation)
- return TRUE;
+ if (strncmp (c, ">From ", 6) != 0)
+ return TRUE;
- /* Same if the next line is */
- p = (const unsigned char *)strchr ((const char *)c, '\n');
- if (p && *++p == '>')
- return TRUE;
+ /* If the previous line was a citation, then say this
+ * one is too.
+ */
+ if (saw_citation)
+ return TRUE;
- /* Otherwise, it was just an isolated ">From" line. */
- return FALSE;
- }
+ /* Same if the next line is */
+ p = (const unsigned char *)strchr ((const char *)c, '\n');
+ if (p && *++p == '>')
+ return TRUE;
- /* Check for "Rupert> " and the like... */
- for (i = 0; c && *c && g_unichar_validate (g_utf8_get_char (c)) && *c != '\n' && i < 10; i ++, c = g_utf8_next_char (c)) {
- u = g_utf8_get_char (c);
- if (u == '>')
- return TRUE;
- if (!g_unichar_isalnum (u))
- return FALSE;
- }
+ /* Otherwise, it was just an isolated ">From" line. */
return FALSE;
}