From: Justin Pettit Date: Thu, 9 Jun 2011 00:34:39 +0000 (-0700) Subject: vlog: Output configuration list in alphabetical order. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8628b0b71d1cf5b3bd7425e50f0aa1435aa38804;p=openvswitch vlog: Output configuration list in alphabetical order. --- diff --git a/lib/vlog.c b/lib/vlog.c index 4f6523f3..265e9c6d 100644 --- a/lib/vlog.c +++ b/lib/vlog.c @@ -29,6 +29,7 @@ #include "dirs.h" #include "dynamic-string.h" #include "sat-math.h" +#include "svec.h" #include "timeval.h" #include "unixctl.h" #include "util.h" @@ -484,17 +485,27 @@ vlog_get_levels(void) { struct ds s = DS_EMPTY_INITIALIZER; struct vlog_module **mp; + struct svec lines = SVEC_EMPTY_INITIALIZER; + char *line; + size_t i; ds_put_format(&s, " console syslog file\n"); ds_put_format(&s, " ------- ------ ------\n"); for (mp = vlog_modules; mp < &vlog_modules[n_vlog_modules]; mp++) { - ds_put_format(&s, "%-16s %4s %4s %4s\n", + line = xasprintf("%-16s %4s %4s %4s\n", vlog_get_module_name(*mp), vlog_get_level_name(vlog_get_level(*mp, VLF_CONSOLE)), vlog_get_level_name(vlog_get_level(*mp, VLF_SYSLOG)), vlog_get_level_name(vlog_get_level(*mp, VLF_FILE))); + svec_add_nocopy(&lines, line); + } + + svec_sort(&lines); + SVEC_FOR_EACH (i, line, &lines) { + ds_put_cstr(&s, line); } + svec_destroy(&lines); return ds_cstr(&s); }