[Libguestfs] [PATCH] daemon: improve debugging for "stdout on stderr" flag

Pino Toscano ptoscano at redhat.com
Tue Jan 26 10:28:01 UTC 2016


When the COMMAND_FLAG_FOLD_STDOUT_ON_STDERR flag is passed to
command*(), indicate that as stdout=e in debugging message.
---
 daemon/command.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/daemon/command.c b/daemon/command.c
index 73fce56..2423a4e 100644
--- a/daemon/command.c
+++ b/daemon/command.c
@@ -185,6 +185,7 @@ commandrvf (char **stdoutput, char **stderror, unsigned flags,
   int so_fd[2], se_fd[2];
   unsigned flag_copy_stdin = flags & COMMAND_FLAG_CHROOT_COPY_FILE_TO_STDIN;
   int flag_copy_fd = (int) (flags & COMMAND_FLAG_FD_MASK);
+  unsigned flag_out_on_err = flags & COMMAND_FLAG_FOLD_STDOUT_ON_STDERR;
   pid_t pid;
   int r, quit, i;
   fd_set rset, rset2;
@@ -196,7 +197,8 @@ commandrvf (char **stdoutput, char **stderror, unsigned flags,
 
   if (verbose) {
     printf ("commandrvf: stdout=%s stderr=%s flags=0x%x\n",
-            stdoutput ? "y" : "n", stderror ? "y" : "n", flags);
+            stdoutput ? "y" : flag_out_on_err ? "e" : "n",
+            stderror ? "y" : "n", flags);
     fputs ("commandrvf: ", stdout);
     fputs (argv[0], stdout);
     for (i = 1; argv[i] != NULL; ++i) {
@@ -261,7 +263,7 @@ commandrvf (char **stdoutput, char **stderror, unsigned flags,
     }
     close (so_fd[PIPE_READ]);
     close (se_fd[PIPE_READ]);
-    if (!(flags & COMMAND_FLAG_FOLD_STDOUT_ON_STDERR)) {
+    if (!flag_out_on_err) {
       if (dup2 (so_fd[PIPE_WRITE], STDOUT_FILENO) == -1) {
         perror ("dup2/so_fd[PIPE_WRITE]");
         _exit (EXIT_FAILURE);
-- 
2.5.0




More information about the Libguestfs mailing list