[PATCH 2/3] tag-utils: use the tag_opt_list_t as talloc context, if possible.
Tomi Ollila
tomi.ollila at iki.fi
Mon Dec 17 08:24:39 PST 2012
On Mon, Dec 17 2012, david at tethera.net wrote:
> From: David Bremner <bremner at debian.org>
>
> This code is no less correct than the previous version, since it does
> not make sense for the array to live longer than the wrapping struct.
>
> By not relying on the context passed into tag_parse_line, we can allow
> tag_op_list_t structures to live longer than that context.
> ---
The whole patch series looks good to me -- just that this comment
gets a bit over my head...
Tomi
> notmuch-restore.c | 2 +-
> tag-util.c | 9 ++++-----
> tag-util.h | 3 +--
> 3 files changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/notmuch-restore.c b/notmuch-restore.c
> index 5a02328..665373f 100644
> --- a/notmuch-restore.c
> +++ b/notmuch-restore.c
> @@ -105,7 +105,7 @@ parse_sup_line (void *ctx, char *line,
> tok_len++;
> }
>
> - if (tag_op_list_append (ctx, tag_ops, tok, FALSE))
> + if (tag_op_list_append (tag_ops, tok, FALSE))
> return -1;
> }
>
> diff --git a/tag-util.c b/tag-util.c
> index eab482f..705b7ba 100644
> --- a/tag-util.c
> +++ b/tag-util.c
> @@ -109,7 +109,7 @@ parse_tag_line (void *ctx, char *line,
> goto DONE;
> }
>
> - if (tag_op_list_append (ctx, tag_ops, tag, remove)) {
> + if (tag_op_list_append (tag_ops, tag, remove)) {
> ret = line_error (TAG_PARSE_OUT_OF_MEMORY, line_for_error,
> "aborting");
> goto DONE;
> @@ -294,7 +294,7 @@ tag_op_list_create (void *ctx)
> list->size = TAG_OP_LIST_INITIAL_SIZE;
> list->count = 0;
>
> - list->ops = talloc_array (ctx, tag_operation_t, list->size);
> + list->ops = talloc_array (list, tag_operation_t, list->size);
> if (list->ops == NULL)
> return NULL;
>
> @@ -303,8 +303,7 @@ tag_op_list_create (void *ctx)
>
>
> int
> -tag_op_list_append (void *ctx,
> - tag_op_list_t *list,
> +tag_op_list_append (tag_op_list_t *list,
> const char *tag,
> notmuch_bool_t remove)
> {
> @@ -314,7 +313,7 @@ tag_op_list_append (void *ctx,
>
> if (list->count == list->size) {
> list->size *= 2;
> - list->ops = talloc_realloc (ctx, list->ops, tag_operation_t,
> + list->ops = talloc_realloc (list, list->ops, tag_operation_t,
> list->size);
> if (list->ops == NULL) {
> fprintf (stderr, "Out of memory.\n");
> diff --git a/tag-util.h b/tag-util.h
> index 99b0fa0..c07bfde 100644
> --- a/tag-util.h
> +++ b/tag-util.h
> @@ -87,8 +87,7 @@ tag_op_list_create (void *ctx);
> */
>
> int
> -tag_op_list_append (void *ctx,
> - tag_op_list_t *list,
> +tag_op_list_append (tag_op_list_t *list,
> const char *tag,
> notmuch_bool_t remove);
>
> --
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list