diff options
author | Ray Strode <rstrode@redhat.com> | 2008-06-04 16:29:38 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2008-06-04 16:29:38 -0400 |
commit | b5ffa3574074a3b2b4dbca7b1a9e1b460b4d3917 (patch) | |
tree | 8b66f0a0a1d834ba538c094852afdf04ee64abb0 | |
parent | 869a4d4afe28c9cde9b57b273d5c97d857dcf541 (diff) | |
download | plymouth-b5ffa3574074a3b2b4dbca7b1a9e1b460b4d3917.tar.gz plymouth-b5ffa3574074a3b2b4dbca7b1a9e1b460b4d3917.tar.xz plymouth-b5ffa3574074a3b2b4dbca7b1a9e1b460b4d3917.zip |
Support passing in a 0 to ply_window_new to mean "current vt"
-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) |