diff mbox series

[04/14] kconfig: print additional new line for choice for redirection

Message ID 1517877294-4826-5-git-send-email-yamada.masahiro@socionext.com
State New
Headers show
Series Add Kconfig unit tests | expand

Commit Message

Masahiro Yamada Feb. 6, 2018, 12:34 a.m. UTC
If stdout is redirected to a file, prompts look differently due to
missing new lines.

Currently, conf_askvalue() takes care of this by putting additional
new line, but conf_choice() does not.  Do likewise so that prompts
after 'choice' look properly.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

 scripts/kconfig/conf.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.7.4

Comments

Ulf Magnusson Feb. 7, 2018, 11:34 p.m. UTC | #1
On Tue, Feb 6, 2018 at 1:34 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> If stdout is redirected to a file, prompts look differently due to

> missing new lines.

>

> Currently, conf_askvalue() takes care of this by putting additional

> new line, but conf_choice() does not.  Do likewise so that prompts

> after 'choice' look properly.

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---

>

>  scripts/kconfig/conf.c | 2 ++

>  1 file changed, 2 insertions(+)

>

> diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c

> index d346642..6ce06c8 100644

> --- a/scripts/kconfig/conf.c

> +++ b/scripts/kconfig/conf.c

> @@ -317,6 +317,8 @@ static int conf_choice(struct menu *menu)

>                 case oldaskconfig:

>                         fflush(stdout);

>                         xfgets(line, sizeof(line), stdin);

> +                       if (!tty_stdio)

> +                               printf("\n");

>                         strip(line);

>                         if (line[0] == '?') {

>                                 print_help(menu);

> --

> 2.7.4

>


Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>


Maybe this could be moved into the xfgets() function as well.

Cheers,
Ulf
Masahiro Yamada Feb. 8, 2018, 6 a.m. UTC | #2
2018-02-08 8:34 GMT+09:00 Ulf Magnusson <ulfalizer@gmail.com>:
> On Tue, Feb 6, 2018 at 1:34 AM, Masahiro Yamada

> <yamada.masahiro@socionext.com> wrote:

>> If stdout is redirected to a file, prompts look differently due to

>> missing new lines.

>>

>> Currently, conf_askvalue() takes care of this by putting additional

>> new line, but conf_choice() does not.  Do likewise so that prompts

>> after 'choice' look properly.

>>

>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

>> ---

>>

>>  scripts/kconfig/conf.c | 2 ++

>>  1 file changed, 2 insertions(+)

>>

>> diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c

>> index d346642..6ce06c8 100644

>> --- a/scripts/kconfig/conf.c

>> +++ b/scripts/kconfig/conf.c

>> @@ -317,6 +317,8 @@ static int conf_choice(struct menu *menu)

>>                 case oldaskconfig:

>>                         fflush(stdout);

>>                         xfgets(line, sizeof(line), stdin);

>> +                       if (!tty_stdio)

>> +                               printf("\n");

>>                         strip(line);

>>                         if (line[0] == '?') {

>>                                 print_help(menu);

>> --

>> 2.7.4

>>

>

> Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>

>

> Maybe this could be moved into the xfgets() function as well.

>


Thanks for your comment!
Yes, it is better to move this into xfgets().

I improve this a bit more so that the redirected stdout
contains not only '\n' but also input keys.

https://patchwork.kernel.org/patch/10206611/


-- 
Best Regards
Masahiro Yamada
diff mbox series

Patch

diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index d346642..6ce06c8 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -317,6 +317,8 @@  static int conf_choice(struct menu *menu)
 		case oldaskconfig:
 			fflush(stdout);
 			xfgets(line, sizeof(line), stdin);
+			if (!tty_stdio)
+				printf("\n");
 			strip(line);
 			if (line[0] == '?') {
 				print_help(menu);