X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=lib%2Fvlog.c;h=265e9c6dd0bc914b53d27bb2f5b4db7a3538b45f;hb=40043044700de567251236d2e4afa89e02b9d1c2;hp=4f6523f3d0f6bf6f3ec356dc9fd5e31ff017dc55;hpb=279c9e030818e039bb1c26be76e2cc1e8f6b13a6;p=openvswitch 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); }