From 1da6fb0610ef6af3ef535ef0fc060d71882d41a5 Mon Sep 17 00:00:00 2001 From: Alan Jenkins Date: Sun, 26 Mar 2017 17:22:43 +0100 Subject: [PATCH] policycoreutils/setfiles: stdout messages don't need program prefix I suggested that if you run a command for its informational output (by passing `-v`), you don't expect it to be prefixed with the program name. Prefixing is used for error messages, so you can tell where your shell script blew up :). If a script is running a command for its informational output, it's usually the script's responsibility to make sure it's in context, e.g. providing headers if there are multiple sections of output. Removing the program name from setfiles/restorecon output is particularly useful because it generates very long lines. But also, it actually helps highlight where there are error messages - the prefix will make them stand out visually. Signed-off-by: Alan Jenkins --- policycoreutils/setfiles/setfiles.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/policycoreutils/setfiles/setfiles.c b/policycoreutils/setfiles/setfiles.c index 6f69c90c..83e0b2a0 100644 --- a/policycoreutils/setfiles/setfiles.c +++ b/policycoreutils/setfiles/setfiles.c @@ -142,9 +142,15 @@ static int __attribute__ ((format(printf, 2, 3))) log_callback(int type, const char *fmt, ...) { int rc; - FILE *out = (type == SELINUX_INFO) ? stdout : stderr; + FILE *out; va_list ap; - fprintf(out, "%s: ", r_opts.progname); + + if (type == SELINUX_INFO) { + out = stdout; + } else { + out = stderr; + fprintf(out, "%s: ", r_opts.progname); + } va_start(ap, fmt); rc = vfprintf(out, fmt, ap); va_end(ap);