summaryrefslogtreecommitdiff
path: root/news/tin/patches/patch-ac
diff options
context:
space:
mode:
Diffstat (limited to 'news/tin/patches/patch-ac')
-rw-r--r--news/tin/patches/patch-ac51
1 files changed, 51 insertions, 0 deletions
diff --git a/news/tin/patches/patch-ac b/news/tin/patches/patch-ac
new file mode 100644
index 00000000000..1f1a715272d
--- /dev/null
+++ b/news/tin/patches/patch-ac
@@ -0,0 +1,51 @@
+$NetBSD: patch-ac,v 1.4 2009/07/22 10:53:51 wiz Exp $
+
+--- src/refs.c.orig 2008-12-30 20:26:24.000000000 +0100
++++ src/refs.c 2009-07-22 12:51:11.000000000 +0200
+@@ -56,7 +56,7 @@
+ static struct t_msgid *add_msgid(int key, const char *msgid, struct t_msgid *newparent);
+ static struct t_msgid *find_next(struct t_msgid *ptr);
+ static struct t_msgid *parse_references(char *r);
+-static t_bool valid_msgid(const char *msgid);
++static t_bool valid_msgid(char *msgid);
+ static unsigned int hash_msgid(const char *key);
+ static void add_to_parent(struct t_msgid *ptr);
+ static void build_thread(struct t_msgid *ptr);
+@@ -176,15 +176,16 @@
+ * Checks if Message-ID has valid format
+ * Returns TRUE if it does, FALSE if it does not
+ *
+- * TODO: combine with post.c:damaged_id()?
++ * TODO: combine with post.c:damaged_id()
+ */
+ static t_bool
+ valid_msgid(
+- const char *msgid)
++ char *msgid)
+ {
+ size_t mlen = 0;
+ t_bool at_present = 0;
+
++ str_trim(msgid);
+ if (!msgid || *msgid != '<')
+ return FALSE;
+
+@@ -968,6 +969,7 @@
+ for_each_art(i) {
+ art = &arts[i];
+
++ art->refptr = add_msgid(MSGID_REF, art->msgid, NULL); /* preset art->refptr */
+ if (art->refs) {
+ strip_line(art->refs);
+
+@@ -999,9 +1001,7 @@
+ art->refptr = add_msgid(MSGID_REF, art->msgid, add_msgid(REF_REF, art->refs, NULL));
+ FreeAndNull(art->refs);
+ }
+- } else
+- if (valid_msgid(art->msgid))
+- art->refptr = add_msgid(MSGID_REF, art->msgid, NULL);
++ }
+ FreeAndNull(art->msgid); /* Now cached - discard this */
+ }
+