[PATCH] kconfig: nconf: Format and print 'line' without a temporary copy

Thorsten Blum posted 1 patch 1 month, 3 weeks ago
scripts/kconfig/nconf.gui.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
[PATCH] kconfig: nconf: Format and print 'line' without a temporary copy
Posted by Thorsten Blum 1 month, 3 weeks ago
Use "%.*s" as the format specifier and supply the 'line' length 'len' to
mvwprintw() to format and print each line without making a temporary
copy. Remove the temporary buffer.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 scripts/kconfig/nconf.gui.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/scripts/kconfig/nconf.gui.c b/scripts/kconfig/nconf.gui.c
index 7206437e784a..2d097bc7ef1a 100644
--- a/scripts/kconfig/nconf.gui.c
+++ b/scripts/kconfig/nconf.gui.c
@@ -173,12 +173,10 @@ void fill_window(WINDOW *win, const char *text)
 	/* do not go over end of line */
 	total_lines = min(total_lines, y);
 	for (i = 0; i < total_lines; i++) {
-		char tmp[x+10];
 		const char *line = get_line(text, i);
-		int len = get_line_length(line);
-		strncpy(tmp, line, min(len, x));
-		tmp[len] = '\0';
-		mvwprintw(win, i, 0, "%s", tmp);
+		int len = min(get_line_length(line), x);
+
+		mvwprintw(win, i, 0, "%.*s", len, line);
 	}
 }
 
-- 
2.50.1
Re: [PATCH] kconfig: nconf: Format and print 'line' without a temporary copy
Posted by Nathan Chancellor 1 month, 2 weeks ago
On Mon, 11 Aug 2025 18:16:48 +0200, Thorsten Blum wrote:
> Use "%.*s" as the format specifier and supply the 'line' length 'len' to
> mvwprintw() to format and print each line without making a temporary
> copy. Remove the temporary buffer.
> 
> 

Applied, thanks!

[1/1] kconfig: nconf: Format and print 'line' without a temporary copy
      https://git.kernel.org/kbuild/c/35883b030c5f1

Best regards,
-- 
Nathan Chancellor <nathan@kernel.org>
Re: [PATCH] kconfig: nconf: Format and print 'line' without a temporary copy
Posted by Nicolas Schier 1 month, 3 weeks ago
On Mon, Aug 11, 2025 at 06:16:48PM +0200, Thorsten Blum wrote:
> Use "%.*s" as the format specifier and supply the 'line' length 'len' to
> mvwprintw() to format and print each line without making a temporary
> copy. Remove the temporary buffer.
> 
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---
>  scripts/kconfig/nconf.gui.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 

thanks!

Reviewed-by: Nicolas Schier <nsc@kernel.org>

As kconfig is currently orphaned, I am going to take this via kbuild
tree.

Kind regards,
Nicolas