All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Steve Sistare <steven.sistare@oracle.com>
Cc: qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
	"Michael Roth" <michael.roth@amd.com>,
	"Peter Xu" <peterx@redhat.com>, "Fabiano Rosas" <farosas@suse.de>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [PATCH V4 2/5] qapi: QAPI_LIST_LENGTH
Date: Wed, 21 Feb 2024 14:29:04 +0100	[thread overview]
Message-ID: <877ciy3pzz.fsf@pond.sub.org> (raw)
In-Reply-To: <1705099758-211963-3-git-send-email-steven.sistare@oracle.com> (Steve Sistare's message of "Fri, 12 Jan 2024 14:49:15 -0800")

Steve Sistare <steven.sistare@oracle.com> writes:

> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  include/qapi/util.h | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/include/qapi/util.h b/include/qapi/util.h
> index 81a2b13..e1b8b1d 100644
> --- a/include/qapi/util.h
> +++ b/include/qapi/util.h
> @@ -56,4 +56,17 @@ int parse_qapi_name(const char *name, bool complete);
>      (tail) = &(*(tail))->next; \
>  } while (0)
>  
> +/*
> + * For any GenericList @list, return its length.
> + */
> +#define QAPI_LIST_LENGTH(list) \
> +    ({ \
> +        int len = 0; \

size_t

> +        typeof(list) elem; \

Name this @tail, please.

> +        for (elem = list; elem != NULL; elem = elem->next) { \
> +            len++; \
> +        } \
> +        len; \
> +    })
> +
>  #endif

This is a macro instead of a function so users don't have to cast their
FooList * to GenericList *.

The only user outside tests is strv_from_strList().  I'd be tempted to
open-code it there and call it a day.  Or do you have more users in
mind?

If we keep the macro, please align the backslashes like this:

   #define QAPI_LIST_LENGTH(list)                                  \
       ({                                                          \
           int len = 0;                                            \
           typeof(list) elem;                                      \
           for (elem = list; elem != NULL; elem = elem->next) {    \
               len++;                                              \
           }                                                       \
           len;                                                    \
       })



  reply	other threads:[~2024-02-21 15:20 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-12 22:49 [PATCH V4 0/5] string list functions Steve Sistare
2024-01-12 22:49 ` [PATCH V4 1/5] util: strList_from_string Steve Sistare
2024-02-21 13:29   ` Markus Armbruster
2024-02-21 17:01     ` Steven Sistare
2024-02-22 19:46       ` Steven Sistare
2024-01-12 22:49 ` [PATCH V4 2/5] qapi: QAPI_LIST_LENGTH Steve Sistare
2024-02-21 13:29   ` Markus Armbruster [this message]
2024-02-21 17:01     ` Steven Sistare
2024-01-12 22:49 ` [PATCH V4 3/5] util: strv_from_strList Steve Sistare
2024-02-21 13:14   ` Markus Armbruster
2024-02-21 17:01     ` Steven Sistare
2024-01-12 22:49 ` [PATCH V4 4/5] util: strList unit tests Steve Sistare
2024-02-21 13:19   ` Markus Armbruster
2024-02-21 17:01     ` Steven Sistare
2024-01-12 22:49 ` [PATCH V4 5/5] migration: simplify exec migration functions Steve Sistare
2024-02-21 13:10   ` Markus Armbruster
2024-02-21 13:55   ` Fabiano Rosas
2024-02-21 15:54     ` Fabiano Rosas
2024-02-21 17:01       ` Steven Sistare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877ciy3pzz.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=farosas@suse.de \
    --cc=marcandre.lureau@redhat.com \
    --cc=michael.roth@amd.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=steven.sistare@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.