2012-05-24 Pedro Alves <palves@redhat.com>

PR tui/14159

	* tui/tui-hooks.c (tui_query_hook): Pre-compute the question
	string, instead of reusing the va_list argument.
This commit is contained in:
Pedro Alves 2012-05-24 15:54:57 +00:00
parent 16224acd5c
commit b09846a918
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2012-05-24 Pedro Alves <palves@redhat.com>
PR tui/14159
* tui/tui-hooks.c (tui_query_hook): Pre-compute the question
string, instead of reusing the va_list argument.
2012-05-24 Tom Tromey <tromey@redhat.com>
* cp-support.h (cp_finalize_namespace, cp_initialize_namespace):

View File

@ -69,6 +69,13 @@ tui_query_hook (const char *msg, va_list argp)
int retval;
int ans2;
int answer;
char *question;
struct cleanup *old_chain;
/* Format the question outside of the loop, to avoid reusing
ARGP. */
question = xstrvprintf (msg, argp);
old_chain = make_cleanup (xfree, question);
echo ();
while (1)
@ -76,7 +83,7 @@ tui_query_hook (const char *msg, va_list argp)
wrap_here (""); /* Flush any buffered output. */
gdb_flush (gdb_stdout);
vfprintf_filtered (gdb_stdout, msg, argp);
fputs_filtered (question, gdb_stdout);
printf_filtered (_("(y or n) "));
wrap_here ("");
@ -113,6 +120,8 @@ tui_query_hook (const char *msg, va_list argp)
printf_filtered (_("Please answer y or n.\n"));
}
noecho ();
do_cleanups (old_chain);
return retval;
}