From: Dave Barach Date: Fri, 22 Sep 2017 17:34:39 +0000 (-0400) Subject: Fix vpp "unix interactive" when running under emacs + gdb X-Git-Tag: v17.10-rc1~30 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=b66201f76143391cc9b81d9c419919b9fd914a24;hp=35df2e1dc9dd639f3a28680689c1d5f3ec6d8dfc;p=vpp.git Fix vpp "unix interactive" when running under emacs + gdb In this specific corner-case setup, ioctl (0, TIOCGWINSZ) returns window height = 0 and width = 0. Rather than declaring the terminal to be non-interactive, set the window size parameters to 80 x 24. Change-Id: If66f5f0883f1940518ec1c6e26228c9bb6f32852 Signed-off-by: Dave Barach --- diff --git a/src/vlib/unix/cli.c b/src/vlib/unix/cli.c index ffe5de6d5b2..be3c813ae33 100644 --- a/src/vlib/unix/cli.c +++ b/src/vlib/unix/cli.c @@ -2776,8 +2776,14 @@ unix_cli_config (vlib_main_t * vm, unformat_input_t * input) cf->height = ws.ws_row; if (cf->width == 0 || cf->height == 0) - /* We have a tty, but no size. Stick to line mode. */ - goto notty; + { + /* + * We have a tty, but no size. Use defaults. + * vpp "unix interactive" inside emacs + gdb ends up here. + */ + cf->width = 80; + cf->height = 24; + } /* Setup the history */ cf->history_limit = um->cli_history_limit; @@ -2816,7 +2822,6 @@ unix_cli_config (vlib_main_t * vm, unformat_input_t * input) } else { - notty: /* No tty, so make sure the session doesn't have tty-like features */ unix_cli_set_session_noninteractive (cf); }