Make sure we don't trigger undefined behavior in isprint().

svn path=/trunk/; revision=19978
This commit is contained in:
Gerald Combs 2006-11-25 06:15:51 +00:00
parent 356e5b65ce
commit cd7b6c9dbf
1 changed files with 7 additions and 1 deletions

View File

@ -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);