On Thu, Jan 12, 2012 at 9:08 AM, Olivier Brunel
<[email protected]> wrote:
> When asking question and stdin is piped, the response does not get printed
> out,
> resulting in a missing \n and broken output (FS#27909); printing the response
> fixes it.
>
> Signed-off-by: Olivier Brunel <[email protected]>
Thanks!
> ---
> src/pacman/util.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/src/pacman/util.c b/src/pacman/util.c
> index 2d88bac..0da86dd 100644
> --- a/src/pacman/util.c
> +++ b/src/pacman/util.c
> @@ -1429,6 +1429,12 @@ static int question(short preset, char *fmt, va_list
> args)
> if(len == 0) {
> return preset;
> }
> +
> + /* if stdin is piped, response does not get printed out, and
> as a result
> + * a \n is missing, resulting in broken output (FS#27909) */
> + if(!isatty(fileno(stdin))) {
> + fprintf(stream, "%s\n", response);
> + }
>
> if(strcasecmp(response, _("Y")) == 0 || strcasecmp(response,
> _("YES")) == 0) {
> return 1;
> --
> 1.7.8.3
>
>