From b5ffa3574074a3b2b4dbca7b1a9e1b460b4d3917 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 4 Jun 2008 16:29:38 -0400 Subject: Support passing in a 0 to ply_window_new to mean "current vt" --- src/ply-window.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ply-window.c b/src/ply-window.c index 830039d..9957517 100644 --- a/src/ply-window.c +++ b/src/ply-window.c @@ -91,8 +91,6 @@ ply_window_new (int vt_number) { ply_window_t *window; - assert (vt_number > 0); - window = calloc (1, sizeof (ply_window_t)); window->keyboard_input_buffer = ply_buffer_new (); window->line_buffer = ply_buffer_new (); @@ -305,6 +303,13 @@ ply_window_open (ply_window_t *window) assert (window->tty_name != NULL); assert (window->tty_fd < 0); + if (window->vt_number == 0) + { + window->vt_number = get_active_vt (); + free (window->tty_name); + asprintf (&window->tty_name, "/dev/tty%d", window->vt_number); + } + window->tty_fd = open (window->tty_name, O_RDWR | O_NOCTTY); if (window->tty_fd < 0) -- cgit