diff options
author | Gerald Combs <gerald@wireshark.org> | 2006-11-25 06:15:51 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2006-11-25 06:15:51 +0000 |
commit | cd7b6c9dbf8b38eae0d4a53749e6d576cc3d77a9 (patch) | |
tree | 78d8d7c5a127e14f0b9f8648ac50ac78388dbbe4 /gtk/main.c | |
parent | 356e5b65cee945bd4a980b3b48142faa1a0b93ad (diff) |
Make sure we don't trigger undefined behavior in isprint().
svn path=/trunk/; revision=19978
Diffstat (limited to 'gtk/main.c')
-rw-r--r-- | gtk/main.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk/main.c b/gtk/main.c index d64fcf348f..736a997a5e 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -3806,7 +3806,13 @@ top_level_key_pressed_cb(GtkCTree *ctree _U_, GdkEventKey *event, gpointer user_ } else if (event->keyval == GDK_F7) { packet_list_prev(); return TRUE; - } else if (isprint(event->keyval)) { + /* + * A comment in gdkkeysyms.h says that it's autogenerated from + * freedesktop.org/x.org's keysymdef.h. Although the GDK docs + * don't explicitly say so, isprint() should work as expected + * for values < 127. + */ + } else if (isascii(event->keyval) && isprint(event->keyval)) { /* Forward the keypress on to the display filter entry */ if (main_display_filter_widget && !gtk_widget_is_focus(main_display_filter_widget)) { gtk_window_set_focus(GTK_WINDOW(top_level), main_display_filter_widget); |