summaryrefslogtreecommitdiff
path: root/gdb/ser-go32.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2011-03-04 19:23:42 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2011-03-04 19:23:42 +0000
commit1e182ce8c375de8f86fe00198b07d0331e4c4e0d (patch)
tree0e7ec4987f47fe39ec610faff8caef45208eec64 /gdb/ser-go32.c
parent2abae99411dbbced25ad99232ab329ad59578294 (diff)
* inflow.c (terminal_init_inferior_with_pgrp): Copy ttystate.
(terminal_save_ours): Remove misleading comment. (inflow_inferior_data_cleanup): Free ttystate. (inflow_inferior_exit): Likewise. (copy_terminal_info): Copy ttystate. * serial.c (serial_copy_tty_state): New function. * serial.h (serial_copy_tty_state): Add prototype. (struct serial_ops): Add copy_tty_state callback. * ser-base.c (ser_base_copy_tty_state): New function. * ser-base.h (ser_base_copy_tty_state): Add prototype. * ser-go32.c (dos_copy_tty_state): New function. (dos_ops): Install copy_tty_state callback. * ser-mingw.c (_initialize_ser_windows): Likewise. * ser-pipe.c (_initialize_ser_pipe): Likewise. * ser-unix.c (hardwire_copy_tty_state): New function. (_initialize_ser_hardwire): Install it.
Diffstat (limited to 'gdb/ser-go32.c')
-rw-r--r--gdb/ser-go32.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/ser-go32.c b/gdb/ser-go32.c
index 44fea132b7..835d8e0554 100644
--- a/gdb/ser-go32.c
+++ b/gdb/ser-go32.c
@@ -652,6 +652,17 @@ dos_get_tty_state (struct serial *scb)
return (serial_ttystate) state;
}
+static serial_ttystate
+dos_copy_tty_state (struct serial *scb, serial_ttystate ttystate)
+{
+ struct dos_ttystate *state;
+
+ state = (struct dos_ttystate *) xmalloc (sizeof *state);
+ *state = *(struct dos_ttystate *) ttystate;
+
+ return (serial_ttystate) state;
+}
+
static int
dos_set_tty_state (struct serial *scb, serial_ttystate ttystate)
{
@@ -851,6 +862,7 @@ static struct serial_ops dos_ops =
dos_sendbreak,
dos_raw,
dos_get_tty_state,
+ dos_copy_tty_state,
dos_set_tty_state,
dos_print_tty_state,
dos_noflush_set_tty_state,