Acked-by: Ethan Jackson <et...@nicira.com>

On Tue, Sep 17, 2013 at 10:02 AM, Ben Pfaff <b...@nicira.com> wrote:
> This will be convenient in an upcoming commit.
>
> I had to add -Wno-format-zero-length to suppress a GCC warning about a
> zero-length format string in this monitor_daemon() call:
>     set_subprogram_name("");
> I don't know what that warning is good for anyway, and I guess the Clang
> developers don't either because Clang didn't warn.
>
> Signed-off-by: Ben Pfaff <b...@nicira.com>
> ---
>  configure.ac |    1 +
>  lib/util.c   |   18 +++++++++++++-----
>  lib/util.h   |    2 +-
>  3 files changed, 15 insertions(+), 6 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index d6596f9..243171e 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -95,6 +95,7 @@ OVS_ENABLE_OPTION([-Wno-sign-compare])
>  OVS_ENABLE_OPTION([-Wpointer-arith])
>  OVS_ENABLE_OPTION([-Wdeclaration-after-statement])
>  OVS_ENABLE_OPTION([-Wformat-security])
> +OVS_ENABLE_OPTION([-Wno-format-zero-length])
>  OVS_ENABLE_OPTION([-Wswitch-enum])
>  OVS_ENABLE_OPTION([-Wunused-parameter])
>  OVS_ENABLE_OPTION([-Wstrict-aliasing])
> diff --git a/lib/util.c b/lib/util.c
> index 3cada4a..4f0d78b 100644
> --- a/lib/util.c
> +++ b/lib/util.c
> @@ -399,13 +399,21 @@ get_subprogram_name(void)
>      return name ? name : "";
>  }
>
> -/* Sets 'name' as the name of the currently running thread or process.  (This
> - * appears in log messages and may also be visible in system process listings
> - * and debuggers.) */
> +/* Sets the formatted value of 'format' as the name of the currently running
> + * thread or process.  (This appears in log messages and may also be visible 
> in
> + * system process listings and debuggers.) */
>  void
> -set_subprogram_name(const char *name)
> +set_subprogram_name(const char *format, ...)
>  {
> -    free(subprogram_name_set(xstrdup(name)));
> +    va_list args;
> +    char *name;
> +
> +    va_start(args, format);
> +    name = xvasprintf(format, args);
> +    va_end(args);
> +
> +    free(subprogram_name_set(name));
> +
>  #if HAVE_GLIBC_PTHREAD_SETNAME_NP
>      pthread_setname_np(pthread_self(), name);
>  #elif HAVE_NETBSD_PTHREAD_SETNAME_NP
> diff --git a/lib/util.h b/lib/util.h
> index 0db41be..2c8e598 100644
> --- a/lib/util.h
> +++ b/lib/util.h
> @@ -207,7 +207,7 @@ void set_program_name__(const char *name, const char 
> *version,
>          set_program_name__(name, VERSION, __DATE__, __TIME__)
>
>  const char *get_subprogram_name(void);
> -void set_subprogram_name(const char *name);
> +void set_subprogram_name(const char *format, ...) PRINTF_FORMAT(1, 2);
>
>  const char *get_program_version(void);
>  void ovs_print_version(uint8_t min_ofp, uint8_t max_ofp);
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to