specials = inst->back->get_specials(inst->backhandle);
if (inst->back) specials = inst->back->get_specials(inst->backhandle); else specials = NULL;
void update_specials_menu(void *frontend){    struct gui_data *inst = (struct gui_data *)frontend;    const struct telnet_special *specials;    specials = inst->back->get_specials(inst->backhandle);    gtk_container_foreach(GTK_CONTAINER(inst->specialsmenu),			  (GtkCallback)gtk_widget_destroy, NULL);    if (specials) {	int i;	GtkWidget *menuitem;	for (i = 0; specials[i].name; i++) {	    if (*specials[i].name) {		menuitem = gtk_menu_item_new_with_label(specials[i].name);		gtk_object_set_data(GTK_OBJECT(menuitem), "user-data",				    GINT_TO_POINTER(specials[i].code));		gtk_signal_connect(GTK_OBJECT(menuitem), "activate",				   GTK_SIGNAL_FUNC(special_menuitem), inst);	    } else		menuitem = gtk_menu_item_new();	    gtk_container_add(GTK_CONTAINER(inst->specialsmenu), menuitem);	    gtk_widget_show(menuitem);	}	gtk_widget_show(inst->specialsitem1);	gtk_widget_show(inst->specialsitem2);    } else {	gtk_widget_hide(inst->specialsitem1);	gtk_widget_hide(inst->specialsitem2);    }}