diff options
-rw-r--r-- | src/ply-window.c | 9 |
1 files 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) |