diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2003-06-15 21:04:16 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2003-06-15 21:04:16 +0000 |
commit | 50acda85ee021f6128831acea74c9a40287d1410 (patch) | |
tree | ad8093fb44faa50c9db0d11ac4ae0146fc9ac250 /src/sysdep.c | |
parent | c658018ff8e3a85e5dbfd0d5eff5b7f1a207ff69 (diff) | |
download | emacs-50acda85ee021f6128831acea74c9a40287d1410.tar.gz |
(kbd_input_ast, read_input_waiting): Don't pass uninitialized
data to kbd_buffer_store_event.
Diffstat (limited to 'src/sysdep.c')
-rw-r--r-- | src/sysdep.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/sysdep.c b/src/sysdep.c index 8d9d1beb519..193f0630cbf 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -1,5 +1,5 @@ /* Interfaces to system-dependent kernel and library entries. - Copyright (C) 1985, 86,87,88,93,94,95, 1999, 2000, 2001 + Copyright (C) 1985, 86,87,88,93,94,95,1999,2000,01,2003 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -2008,6 +2008,8 @@ kbd_input_ast () if (c >= 0) { struct input_event e; + EVENT_INIT (e); + e.kind = ASCII_KEYSTROKE_EVENT; XSETINT (e.code, c); e.frame_or_window = selected_frame; @@ -2622,14 +2624,15 @@ sys_select (nfds, rfds, wfds, efds, timeout) void read_input_waiting () { - struct input_event e; int nread, i; extern int quit_char; if (read_socket_hook) { struct input_event buf[256]; - + for (i = 0; i < 256; i++) + EVENT_INIT (buf[i]); + read_alarm_should_throw = 0; if (! setjmp (read_alarm_throw)) nread = (*read_socket_hook) (0, buf, 256, 1); @@ -2649,8 +2652,10 @@ read_input_waiting () } else { + struct input_event e; char buf[3]; nread = read (fileno (stdin), buf, 1); + EVENT_INIT (e); /* Scan the chars for C-g and store them in kbd_buffer. */ e.kind = ASCII_KEYSTROKE_EVENT; |