On Tue, May 09, 2023 at 03:51:17PM +0100, Richard W.M. Jones wrote: > At least under Wine they are not recognized and you just see literal > "[0m" etc appearing in the output.
Maybe that means the problem is that isatty() under Wine is returning 1 even when it shouldn't? But avoiding the tty magic on Windows is fine, whether or not Wine is faithfully reproducing native windows or has its own problems. > > Updates: commit 5a011e02375912f2ad88de1ebc6d609e29d38f71 > Reviewed-by: Laszlo Ersek <ler...@redhat.com> > --- > server/debug.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/server/debug.c b/server/debug.c > index 1b5ddaafe..2231d40a0 100644 > --- a/server/debug.c > +++ b/server/debug.c > @@ -70,7 +70,9 @@ static void > debug_common (bool in_server, const char *fs, va_list args) > { > int err = errno; > +#ifndef WIN32 > int tty; > +#endif Could also do unconditional here: int tty = 0; > CLEANUP_FREE char *str = NULL; > size_t len = 0; > FILE *fp; > @@ -88,15 +90,19 @@ debug_common (bool in_server, const char *fs, va_list > args) > return; > } > > +#ifndef WIN32 > tty = isatty (fileno (stderr)); > if (!in_server && tty) ansi_force_colour (ANSI_FG_BOLD_BLACK, fp); > +#endif and here, do: #ifndef WIN32 tty = isatty (fileno (stderr)); #endif if (...) > > prologue (fp); > > errno = err; > vfprintf (fp, fs, args); > > +#ifndef WIN32 > if (!in_server && tty) ansi_force_restore (fp); > +#endif and this one can also be unconditional. But what you have works too, so I'm fine either way. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs