diff options
Diffstat (limited to 'e-util')
-rw-r--r-- | e-util/ChangeLog | 6 | ||||
-rw-r--r-- | e-util/e-html-utils.c | 44 |
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; } |