[PATCH 2/5] Implement an internal generic string list and use it.

Austin Clements amdragon at mit.edu
Wed Dec 22 18:44:57 PST 2010


It seems I somehow repeated the function prototypes for tags.c and
filenames.c twice at the bottom of notmuch-private.h (probably through some
rebase mishap).  Obviously those should be deduplicated.

On Thu, Dec 9, 2010 at 3:59 PM, Austin Clements <amdragon at mit.edu> wrote:

> diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h
> index 303aeb3..b6f1095 100644
> --- a/lib/notmuch-private.h
> +++ b/lib/notmuch-private.h
> @@ -453,48 +453,60 @@ notmuch_sha1_of_string (const char *str);
>  char *
>  notmuch_sha1_of_file (const char *filename);
>
> -/* tags.c */
> +/* strings.c */
>
> -notmuch_tags_t *
> -_notmuch_tags_create (void *ctx);
> +typedef struct _notmuch_string_node {
> +    char *string;
> +    struct _notmuch_string_node *next;
> +} notmuch_string_node_t;
> +
> +typedef struct _notmuch_string_list {
> +    int length;
> +    notmuch_string_node_t *head;
> +    notmuch_string_node_t **tail;
> +} notmuch_string_list_t;
>
> +notmuch_string_list_t *
> +_notmuch_string_list_create (const void *ctx);
> +
> +/* Add 'string' to 'list'.
> + *
> + * The list will create its own talloced copy of 'string'.
> + */
>  void
> -_notmuch_tags_add_tag (notmuch_tags_t *tags, const char *tag);
> +_notmuch_string_list_append (notmuch_string_list_t *list,
> +                            const char *string);
>
>  void
> -_notmuch_tags_prepare_iterator (notmuch_tags_t *tags);
> +_notmuch_string_list_sort (notmuch_string_list_t *list);
>
> -/* filenames.c */
> +/* tags.c */
> +
> +notmuch_tags_t *
> +_notmuch_tags_create (const void *ctx, notmuch_string_list_t *list,
> +                     notmuch_bool_t steal);
>
> -typedef struct _notmuch_filename_node {
> -    char *filename;
> -    struct _notmuch_filename_node *next;
> -} notmuch_filename_node_t;
> +/* filenames.c */
>
> -typedef struct _notmuch_filename_list {
> -    notmuch_filename_node_t *head;
> -    notmuch_filename_node_t **tail;
> -} notmuch_filename_list_t;
> +/* The notmuch_filenames_t iterates over a notmuch_string_list_t of
> + * file names */
> +notmuch_filenames_t *
> +_notmuch_filenames_create (const void *ctx,
> +                          notmuch_string_list_t *list);
>
> -notmuch_filename_list_t *
> -_notmuch_filename_list_create (const void *ctx);
> +/* tags.c */
>
> -/* Add 'filename' to 'list'.
> - *
> - * The list will create its own talloced copy of 'filename'.
> - */
> -void
> -_notmuch_filename_list_add_filename (notmuch_filename_list_t *list,
> -                                    const char *filename);
> +notmuch_tags_t *
> +_notmuch_tags_create (const void *ctx, notmuch_string_list_t *list,
> +                     notmuch_bool_t steal);
>
> -void
> -_notmuch_filename_list_destroy (notmuch_filename_list_t *list);
> +/* filenames.c */
>
> -/* The notmuch_filenames_t is an iterator object for a
> - * notmuch_filename_list_t */
> +/* The notmuch_filenames_t iterates over a notmuch_string_list_t of
> + * file names */
>  notmuch_filenames_t *
>  _notmuch_filenames_create (const void *ctx,
> -                          notmuch_filename_list_t *list);
> +                          notmuch_string_list_t *list);
>
>  #pragma GCC visibility pop
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20101222/4db88905/attachment.htm>


More information about the notmuch mailing list