Remove the logic that assumes "Rupert> " is a citation, since it misfires

* e-html-utils.c (is_citation): Remove the logic that assumes
	"Rupert> " is a citation, since it misfires more often than it
	hits.

svn path=/trunk/; revision=17696
This commit is contained in:
Dan Winship
2002-08-05 13:39:16 +00:00
parent becfb9e15d
commit fb410a4f98
2 changed files with 22 additions and 28 deletions

View File

@ -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

View File

@ -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 (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 the previous line was a citation, then say this
* one is too.
*/
if (saw_citation)
return TRUE;
/* Same if the next line is */
p = (const unsigned char *)strchr ((const char *)c, '\n');
if (p && *++p == '>')
return TRUE;
/* Same if the next line is */
p = (const unsigned char *)strchr ((const char *)c, '\n');
if (p && *++p == '>')
return TRUE;
/* Otherwise, it was just an isolated ">From" line. */
return FALSE;
}
/* 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;
}