]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
If there was multiple headers with same name, we stored only first one into
authorTimo Sirainen <tss@iki.fi>
Mon, 6 Oct 2003 23:23:37 +0000 (02:23 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 6 Oct 2003 23:23:37 +0000 (02:23 +0300)
cache.

--HG--
branch : HEAD

src/lib-storage/index/index-mail-headers.c

index 1952e8014e5ec95eae154ec0a3d837d298fa71cf..b893e30b247a011a22ec4b6c1cb4116ec3924ead 100644 (file)
@@ -356,21 +356,17 @@ int index_mail_parse_header(struct message_part *part,
                                     hdr->value, hdr->value_len);
                        if (!hdr->no_newline)
                                str_append(data->header_data, "\n");
-                       if (!hdr->continues) {
-                               cached_hdr->fully_saved = TRUE;
-                               data->parsing_count--;
-                       }
                } else {
-                       /* it's already in header_data. */
+                       /* it's already in header_data. it means it's fully
+                          cached and we don't have to worry about other than
+                          the first header line. */
                        i_assert(cached_hdr->value_idx == 0);
                        cached_hdr->value_idx = data->header_stream->v_offset;
 
                        cached_hdr->fully_saved = TRUE;
-                       data->parsing_count--;
+                       if (--data->parsing_count == 0)
+                               return FALSE;
                }
-
-               if (data->parsing_count == 0)
-                       return FALSE;
        }
        return TRUE;
 }