From 5fda2735a58171565a03088a985d69027e2f6a19 Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Fri, 16 Jan 2015 17:55:23 +0800 Subject: [PATCH] Do not use a temporary buffer to prompt user in mlyesno, thus avoiding problem with '%' or overflow. --- input.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/input.c b/input.c index 15a0997..6e6c45d 100644 --- a/input.c +++ b/input.c @@ -61,13 +61,10 @@ static const int quotec = 0x11 ; /* quote char during mlreply() */ int mlyesno( const char *prompt) { char c; /* input character */ - char buf[ NSTRING] ; /* prompt to user */ for (;;) { - /* build and prompt the user */ - strcpy(buf, prompt); - strcat(buf, " (y/n)? "); - mlwrite(buf); + /* prompt the user */ + mlwrite( "%s (y/n)? ", prompt) ; /* get the response */ c = tgetc();