Re: Flat search and threaded views
[notmuch-archives.git] / 35 / 48961a53f864902b8380dd35df611019fac084
1 Return-Path: <bremner@tethera.net>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 2A56A431FD2\r
6         for <notmuch@notmuchmail.org>; Sun, 16 Dec 2012 12:16:59 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: 0\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
12         autolearn=disabled\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id 04kUdoSJ2jec for <notmuch@notmuchmail.org>;\r
16         Sun, 16 Dec 2012 12:16:58 -0800 (PST)\r
17 Received: from tesseract.cs.unb.ca (tesseract.cs.unb.ca [131.202.240.238])\r
18         (using TLSv1 with cipher AES256-SHA (256/256 bits))\r
19         (No client certificate requested)\r
20         by olra.theworths.org (Postfix) with ESMTPS id F3C9D431FC4\r
21         for <notmuch@notmuchmail.org>; Sun, 16 Dec 2012 12:16:57 -0800 (PST)\r
22 Received: from fctnnbsc30w-142167090129.dhcp-dynamic.fibreop.nb.bellaliant.net\r
23         ([142.167.90.129] helo=zancas.localnet)\r
24         by tesseract.cs.unb.ca with esmtpsa\r
25         (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72)\r
26         (envelope-from <bremner@tethera.net>)\r
27         id 1TkKdt-0007tb-0F; Sun, 16 Dec 2012 16:16:57 -0400\r
28 Received: from bremner by zancas.localnet with local (Exim 4.80)\r
29         (envelope-from <bremner@tethera.net>)\r
30         id 1TkKdn-00050b-I9; Sun, 16 Dec 2012 16:16:51 -0400\r
31 From: david@tethera.net\r
32 To: notmuch@notmuchmail.org\r
33 Subject: [PATCH 1/3] tag-utils: use the tag_opt_list_t as talloc context,\r
34         if possible.\r
35 Date: Sun, 16 Dec 2012 16:16:35 -0400\r
36 Message-Id: <1355688997-19164-2-git-send-email-david@tethera.net>\r
37 X-Mailer: git-send-email 1.7.10.4\r
38 In-Reply-To: <1355688997-19164-1-git-send-email-david@tethera.net>\r
39 References: <1355688997-19164-1-git-send-email-david@tethera.net>\r
40 X-Spam_bar: -\r
41 Cc: David Bremner <bremner@debian.org>\r
42 X-BeenThere: notmuch@notmuchmail.org\r
43 X-Mailman-Version: 2.1.13\r
44 Precedence: list\r
45 List-Id: "Use and development of the notmuch mail system."\r
46         <notmuch.notmuchmail.org>\r
47 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
48         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
49 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
50 List-Post: <mailto:notmuch@notmuchmail.org>\r
51 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
52 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
53         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
54 X-List-Received-Date: Sun, 16 Dec 2012 20:16:59 -0000\r
55 \r
56 From: David Bremner <bremner@debian.org>\r
57 \r
58 This code is no less correct than the previous version, since it does\r
59 not make sense for the array to live longer than the wrapping struct.\r
60 \r
61 By not relying on the context passed into tag_parse_line, we can allow\r
62 tag_op_list_t structures to live longer than that context.\r
63 ---\r
64  notmuch-restore.c |    2 +-\r
65  tag-util.c        |    9 ++++-----\r
66  tag-util.h        |    3 +--\r
67  3 files changed, 6 insertions(+), 8 deletions(-)\r
68 \r
69 diff --git a/notmuch-restore.c b/notmuch-restore.c\r
70 index 40596a8..ae0ef45 100644\r
71 --- a/notmuch-restore.c\r
72 +++ b/notmuch-restore.c\r
73 @@ -102,7 +102,7 @@ parse_sup_line (void *ctx, char *line,\r
74             tok_len++;\r
75         }\r
76  \r
77 -       if (tag_op_list_append (ctx, tag_ops, tok, FALSE))\r
78 +       if (tag_op_list_append (tag_ops, tok, FALSE))\r
79             return -1;\r
80      }\r
81  \r
82 diff --git a/tag-util.c b/tag-util.c\r
83 index eab482f..705b7ba 100644\r
84 --- a/tag-util.c\r
85 +++ b/tag-util.c\r
86 @@ -109,7 +109,7 @@ parse_tag_line (void *ctx, char *line,\r
87             goto DONE;\r
88         }\r
89  \r
90 -       if (tag_op_list_append (ctx, tag_ops, tag, remove)) {\r
91 +       if (tag_op_list_append (tag_ops, tag, remove)) {\r
92             ret = line_error (TAG_PARSE_OUT_OF_MEMORY, line_for_error,\r
93                               "aborting");\r
94             goto DONE;\r
95 @@ -294,7 +294,7 @@ tag_op_list_create (void *ctx)\r
96      list->size = TAG_OP_LIST_INITIAL_SIZE;\r
97      list->count = 0;\r
98  \r
99 -    list->ops = talloc_array (ctx, tag_operation_t, list->size);\r
100 +    list->ops = talloc_array (list, tag_operation_t, list->size);\r
101      if (list->ops == NULL)\r
102         return NULL;\r
103  \r
104 @@ -303,8 +303,7 @@ tag_op_list_create (void *ctx)\r
105  \r
106  \r
107  int\r
108 -tag_op_list_append (void *ctx,\r
109 -                   tag_op_list_t *list,\r
110 +tag_op_list_append (tag_op_list_t *list,\r
111                     const char *tag,\r
112                     notmuch_bool_t remove)\r
113  {\r
114 @@ -314,7 +313,7 @@ tag_op_list_append (void *ctx,\r
115  \r
116      if (list->count == list->size) {\r
117         list->size *= 2;\r
118 -       list->ops = talloc_realloc (ctx, list->ops, tag_operation_t,\r
119 +       list->ops = talloc_realloc (list, list->ops, tag_operation_t,\r
120                                     list->size);\r
121         if (list->ops == NULL) {\r
122             fprintf (stderr, "Out of memory.\n");\r
123 diff --git a/tag-util.h b/tag-util.h\r
124 index 99b0fa0..c07bfde 100644\r
125 --- a/tag-util.h\r
126 +++ b/tag-util.h\r
127 @@ -87,8 +87,7 @@ tag_op_list_create (void *ctx);\r
128   */\r
129  \r
130  int\r
131 -tag_op_list_append (void *ctx,\r
132 -                   tag_op_list_t *list,\r
133 +tag_op_list_append (tag_op_list_t *list,\r
134                     const char *tag,\r
135                     notmuch_bool_t remove);\r
136  \r
137 -- \r
138 1.7.10.4\r
139 \r