X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Futil.c;h=bdc194e80c9ce45bde0975d7ef9c5ab4b4482bfd;hb=b56e57470c92f123044ea690b5404bdd730ddaa6;hp=c1ee936aaf97d7166d26bc9dcb863d5243f8abc2;hpb=e7db37dd19d540e9ac8b89c689914d44d15433c4;p=elogind.git diff --git a/src/util.c b/src/util.c index c1ee936aa..bdc194e80 100644 --- a/src/util.c +++ b/src/util.c @@ -2009,23 +2009,29 @@ int read_one_char(FILE *f, char *ret, bool *need_nl) { } int ask(char *ret, const char *replies, const char *text, ...) { + bool on_tty; + assert(ret); assert(replies); assert(text); + on_tty = isatty(STDOUT_FILENO); + for (;;) { va_list ap; char c; int r; bool need_nl = true; - fputs("\x1B[1m", stdout); + if (on_tty) + fputs("\x1B[1m", stdout); va_start(ap, text); vprintf(text, ap); va_end(ap); - fputs("\x1B[0m", stdout); + if (on_tty) + fputs("\x1B[0m", stdout); fflush(stdout);