[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