Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1288)

Unified Diff: gdb/tui/tui-io.c

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/tui/tui-io.h ('k') | gdb/tui/tui-layout.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/tui/tui-io.c
diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
index 2fb7bb436c338e4832f2756b72702ca2e7850cf6..19b02916b5a11a3c40995a5092f4101a4a5b22ab 100644
--- a/gdb/tui/tui-io.c
+++ b/gdb/tui/tui-io.c
@@ -1,6 +1,6 @@
/* TUI support I/O functions.
- Copyright (C) 1998-2004, 2007-2012 Free Software Foundation, Inc.
+ Copyright (C) 1998-2013 Free Software Foundation, Inc.
Contributed by Hewlett-Packard Company.
@@ -37,6 +37,7 @@
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
+#include "filestuff.h"
#include "gdb_curses.h"
@@ -211,8 +212,11 @@ tui_redisplay_readline (void)
/* Detect when we temporarily left SingleKey and now the readline
edit buffer is empty, automatically restore the SingleKey
- mode. */
- if (tui_current_key_mode == TUI_ONE_COMMAND_MODE && rl_end == 0)
+ mode. The restore must only be done if the command has finished.
+ The command could call prompt_for_continue and we must not
+ restore SingleKey so that the prompt and normal keymap are used. */
+ if (tui_current_key_mode == TUI_ONE_COMMAND_MODE && rl_end == 0
+ && immediate_quit == 0)
tui_set_key_mode (TUI_SINGLE_KEY_MODE);
if (tui_current_key_mode == TUI_SINGLE_KEY_MODE)
@@ -416,7 +420,8 @@ tui_rl_display_match_list (char **matches, int len, int max)
{
char msg[256];
- sprintf (msg, "\nDisplay all %d possibilities? (y or n)", len);
+ xsnprintf (msg, sizeof (msg),
+ "\nDisplay all %d possibilities? (y or n)", len);
tui_puts (msg);
if (get_y_or_n () == 0)
{
@@ -604,15 +609,14 @@ tui_initialize_io (void)
tui_stderr = tui_fileopen (stderr);
tui_out = tui_out_new (tui_stdout);
- /* Create the default UI. It is not created because we installed a
- deprecated_init_ui_hook. */
+ /* Create the default UI. */
tui_old_uiout = cli_out_new (gdb_stdout);
#ifdef TUI_USE_PIPE_FOR_READLINE
/* Temporary solution for readline writing to stdout: redirect
readline output in a pipe, read that pipe and output the content
in the curses command window. */
- if (pipe (tui_readline_pipe) != 0)
+ if (gdb_pipe_cloexec (tui_readline_pipe) != 0)
{
fprintf_unfiltered (gdb_stderr, "Cannot create pipe for readline");
exit (1);
« no previous file with comments | « gdb/tui/tui-io.h ('k') | gdb/tui/tui-layout.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698