[PATCH 2/3] tag-utils: use the tag_opt_list_t as talloc context, if possible.

2012-12-17 Thread Tomi Ollila
On Mon, Dec 17 2012, david at tethera.net wrote:

> From: David Bremner 
>
> 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


Re: [PATCH 2/3] tag-utils: use the tag_opt_list_t as talloc context, if possible.

2012-12-17 Thread Tomi Ollila
On Mon, Dec 17 2012, da...@tethera.net wrote:

 From: David Bremner brem...@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@notmuchmail.org
 http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH 2/3] tag-utils: use the tag_opt_list_t as talloc context, if possible.

2012-12-16 Thread da...@tethera.net
From: David Bremner 

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.
---
 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



[PATCH 2/3] tag-utils: use the tag_opt_list_t as talloc context, if possible.

2012-12-16 Thread david
From: David Bremner brem...@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.
---
 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@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch