| Index: gdb/tui/tui-hooks.c
|
| diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c
|
| index 17a95937c107489b3af8b18336ecafdc96a8badc..4d1e06346f4244bfd0f548733be7baa531a8847a 100644
|
| --- a/gdb/tui/tui-hooks.c
|
| +++ b/gdb/tui/tui-hooks.c
|
| @@ -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;
|
| }
|
|
|
|
|