All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: tboegi@web.de
Cc: git@vger.kernel.org, jeffhost@microsoft.com
Subject: Re: [PATCH v1 1/1] trace2: NULL is not allowed for va_list
Date: Mon, 18 Mar 2019 15:18:41 +0900	[thread overview]
Message-ID: <xmqqlg1c3dtq.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <20190316104715.27138-1-tboegi@web.de> (tboegi's message of "Sat, 16 Mar 2019 11:47:15 +0100")

tboegi@web.de writes:

> From: Torsten Bögershausen <tboegi@web.de>
>
> Some compilers don't allow NULL to be passed for a va_list.
> Use va_list instead.

Wow (I seem to be keep saying this today).

>
> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
> ---
>  trace2.c                | 15 +++++++++++----
>  trace2.h                |  4 ++--
>  trace2/tr2_tgt_event.c  |  2 +-
>  trace2/tr2_tgt_normal.c |  2 +-
>  trace2/tr2_tgt_perf.c   |  2 +-
>  5 files changed, 16 insertions(+), 9 deletions(-)
>
> diff --git a/trace2.c b/trace2.c
> index ccccd4ef09..8bbad56887 100644
> --- a/trace2.c
> +++ b/trace2.c
> @@ -548,10 +548,14 @@ void trace2_region_enter_printf_va_fl(const char *file, int line,
>  }
>
>  void trace2_region_enter_fl(const char *file, int line, const char *category,
> -			    const char *label, const struct repository *repo)
> +			    const char *label, const struct repository *repo, ...)
>  {
> +	va_list ap;
> +	va_start(ap, repo);
>  	trace2_region_enter_printf_va_fl(file, line, category, label, repo,
> -					 NULL, NULL);
> +					 NULL, ap);
> +	va_end(ap);
> +
>  }
>
>  void trace2_region_enter_printf_fl(const char *file, int line,
> @@ -621,10 +625,13 @@ void trace2_region_leave_printf_va_fl(const char *file, int line,
>  }
>
>  void trace2_region_leave_fl(const char *file, int line, const char *category,
> -			    const char *label, const struct repository *repo)
> +			    const char *label, const struct repository *repo, ...)
>  {
> +	va_list ap;
> +	va_start(ap, repo);
>  	trace2_region_leave_printf_va_fl(file, line, category, label, repo,
> -					 NULL, NULL);
> +					 NULL, ap);
> +	va_end(ap);
>  }
>
>  void trace2_region_leave_printf_fl(const char *file, int line,
> diff --git a/trace2.h b/trace2.h
> index ae5020d0e6..b330a54a89 100644
> --- a/trace2.h
> +++ b/trace2.h
> @@ -238,7 +238,7 @@ void trace2_def_repo_fl(const char *file, int line, struct repository *repo);
>   * on this thread.
>   */
>  void trace2_region_enter_fl(const char *file, int line, const char *category,
> -			    const char *label, const struct repository *repo);
> +			    const char *label, const struct repository *repo, ...);
>
>  #define trace2_region_enter(category, label, repo) \
>  	trace2_region_enter_fl(__FILE__, __LINE__, (category), (label), (repo))
> @@ -278,7 +278,7 @@ void trace2_region_enter_printf(const char *category, const char *label,
>   * in this nesting level.
>   */
>  void trace2_region_leave_fl(const char *file, int line, const char *category,
> -			    const char *label, const struct repository *repo);
> +			    const char *label, const struct repository *repo, ...);
>
>  #define trace2_region_leave(category, label, repo) \
>  	trace2_region_leave_fl(__FILE__, __LINE__, (category), (label), (repo))
> diff --git a/trace2/tr2_tgt_event.c b/trace2/tr2_tgt_event.c
> index 107cb5317d..1cf4f62441 100644
> --- a/trace2/tr2_tgt_event.c
> +++ b/trace2/tr2_tgt_event.c
> @@ -190,7 +190,7 @@ static void fn_atexit(uint64_t us_elapsed_absolute, int code)
>  static void maybe_add_string_va(struct json_writer *jw, const char *field_name,
>  				const char *fmt, va_list ap)
>  {
> -	if (fmt && *fmt && ap) {
> +	if (fmt && *fmt) {
>  		va_list copy_ap;
>  		struct strbuf buf = STRBUF_INIT;
>
> diff --git a/trace2/tr2_tgt_normal.c b/trace2/tr2_tgt_normal.c
> index 547183d5b6..1a07d70abd 100644
> --- a/trace2/tr2_tgt_normal.c
> +++ b/trace2/tr2_tgt_normal.c
> @@ -126,7 +126,7 @@ static void fn_atexit(uint64_t us_elapsed_absolute, int code)
>  static void maybe_append_string_va(struct strbuf *buf, const char *fmt,
>  				   va_list ap)
>  {
> -	if (fmt && *fmt && ap) {
> +	if (fmt && *fmt) {
>  		va_list copy_ap;
>
>  		va_copy(copy_ap, ap);
> diff --git a/trace2/tr2_tgt_perf.c b/trace2/tr2_tgt_perf.c
> index f0746fcf86..2a866d701b 100644
> --- a/trace2/tr2_tgt_perf.c
> +++ b/trace2/tr2_tgt_perf.c
> @@ -211,7 +211,7 @@ static void fn_atexit(uint64_t us_elapsed_absolute, int code)
>  static void maybe_append_string_va(struct strbuf *buf, const char *fmt,
>  				   va_list ap)
>  {
> -	if (fmt && *fmt && ap) {
> +	if (fmt && *fmt) {
>  		va_list copy_ap;
>
>  		va_copy(copy_ap, ap);
> --
> 2.21.0.135.g6e0cc67761

  reply	other threads:[~2019-03-18  6:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-16 10:47 [PATCH v1 1/1] trace2: NULL is not allowed for va_list tboegi
2019-03-18  6:18 ` Junio C Hamano [this message]
2019-03-18 12:35 ` Jeff Hostetler
2019-03-18 15:54   ` Torsten Bögershausen
2019-03-18 17:58     ` Morten Welinder

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=xmqqlg1c3dtq.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jeffhost@microsoft.com \
    --cc=tboegi@web.de \
    /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.