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