From patchwork Thu Feb 8 05:56:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 10206611 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 0B57D600F6 for ; Thu, 8 Feb 2018 05:58:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EECE029365 for ; Thu, 8 Feb 2018 05:58:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E141E2939B; Thu, 8 Feb 2018 05:58:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7722029365 for ; Thu, 8 Feb 2018 05:58:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751055AbeBHF6F (ORCPT ); Thu, 8 Feb 2018 00:58:05 -0500 Received: from conuserg-08.nifty.com ([210.131.2.75]:58454 "EHLO conuserg-08.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750954AbeBHF6E (ORCPT ); Thu, 8 Feb 2018 00:58:04 -0500 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-08.nifty.com with ESMTP id w185uhG3007816; Thu, 8 Feb 2018 14:56:45 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-08.nifty.com w185uhG3007816 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1518069405; bh=tkKVsyCnE1leUCGtzur2BHn/LVrjjGUZyjSnZS+mtAI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c3msDm8Js4ECoMciy9eOsjrOtg0nnn+J7NA9CHYHuhrfKfl6p/XbG6rP2wbp8T/2k C6dfCv4+KNHqAtOJPaepYM/EoHJrqII0OI1iKHhpOnoPUyAJ+ao4TmPavAMdIdsseX PcRUrKjaamJvENWmoiHNhkTHdyGqITSQ0j8TiJ5ojHVMY3gAqiJMfSF5l5oEwh4zSp yZDyCrn64QRcZH3f9CQhFqFKGAtoV+tOCt8ZW+npsxxNG+BzkgyYzSTNyiE48psNXQ RFfoLIs385cf7lURNPiyCnlM5zFOf1W3EyLarijirk/eKn0O0/oosd3pCvvocjMzIA D5wvv1HSFcBQw== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Sam Ravnborg , Michal Marek , Ulf Magnusson , Randy Dunlap , "Luis R . Rodriguez" , Masahiro Yamada , linux-kernel@vger.kernel.org, Marc Herbert Subject: [PATCH 2/2] kconfig: echo stdin to stdout if either is redirected Date: Thu, 8 Feb 2018 14:56:40 +0900 Message-Id: <1518069400-7037-2-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518069400-7037-1-git-send-email-yamada.masahiro@socionext.com> References: <1518069400-7037-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP If stdio is not tty, conf_askvalue() puts additional new line to prevent prompts are all concatenated into a single line. This care is missing in conf_choice(), so a 'choice' prompt and the next prompt are shown in the same line. Move the code into xfgets() to take care of all cases. To improve this more, echo stdin to stdout. This clarifies what keys were input from stdio and the stdout looks like as if it were from tty. I removed the isatty(2) check since stderr is unrelated here. Signed-off-by: Masahiro Yamada Reviewed-by: Ulf Magnusson --- scripts/kconfig/conf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c index 358e2e4..c5318d3 100644 --- a/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c @@ -76,6 +76,9 @@ static void xfgets(char *str, int size, FILE *in) { if (!fgets(str, size, in)) fprintf(stderr, "\nError in reading or end of file.\n"); + + if (!tty_stdio) + printf("%s", str); } static int conf_askvalue(struct symbol *sym, const char *def) @@ -106,8 +109,6 @@ static int conf_askvalue(struct symbol *sym, const char *def) case oldaskconfig: fflush(stdout); xfgets(line, sizeof(line), stdin); - if (!tty_stdio) - printf("\n"); return 1; default: break; @@ -495,7 +496,7 @@ int main(int ac, char **av) bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); - tty_stdio = isatty(0) && isatty(1) && isatty(2); + tty_stdio = isatty(0) && isatty(1); while ((opt = getopt_long(ac, av, "s", long_opts, NULL)) != -1) { if (opt == 's') {