chiark / gitweb /
fix immediate auto expire list handling bug
authorIan Jackson <ian@chiark.greenend.org.uk>
Wed, 12 May 2010 23:28:26 +0000 (00:28 +0100)
committerIan Jackson <ian@chiark.greenend.org.uk>
Wed, 12 May 2010 23:28:26 +0000 (00:28 +0100)
backends/innduct.c

index 5caddb5dba0dd69e4fe2366fe1d3c7da7f427d7a..709dc993e7c6650ef23241f812ed6e4685772e23 100644 (file)
@@ -2179,12 +2179,15 @@ static void *feedfile_got_article(oop_source *lp, oop_read *rd,
   art->offset= old_offset;
   art->blanklen= recsz;
   strcpy(art->messageid, space+1);
   art->offset= old_offset;
   art->blanklen= recsz;
   strcpy(art->messageid, space+1);
-  LIST_ADDTAIL(ipf->queue, art);
 
 
-  if (ipf->autodefer >= 0)
+  if (ipf->autodefer >= 0) {
     article_autodefer(ipf, art);
     article_autodefer(ipf, art);
-  else if (ipf==backlog_input_file)
-    article_check_expired(art);
+  } else {
+    LIST_ADDTAIL(ipf->queue, art);
+
+    if (ipf==backlog_input_file)
+      article_check_expired(art);
+  }
 
   if (sms==sm_NORMAL && ipf==main_input_file &&
       ipf->offset >= target_max_feedfile_size)
 
   if (sms==sm_NORMAL && ipf==main_input_file &&
       ipf->offset >= target_max_feedfile_size)