mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-06-30 11:02:48 -05:00
Fixes for Debian bug #192701 (64-bit gccs warn about casts between
ptrs and ints of different size and -Werror makes this serious). The GTK bits are done by Colin's patch to use GINT_TO_POINTER (thanks); the uxnet bits are done by cleaning up the rest of the code. In particular, network.h now typedefs `OSSocket' to be a type capable of holding whatever the OS's socket data type is that underlies our socket abstraction. Individual platforms can make this typedef themselves if they define OSSOCKET_DEFINED to prevent network.h redoing it; so the Unix OSSocket is now int. Default is still void *, so other platforms should be unaffected. [originally from svn r3171]
This commit is contained in:
@ -374,7 +374,8 @@ void dlg_listbox_addwithid(union control *ctrl, void *dlg,
|
||||
gtk_container_add(GTK_CONTAINER(uc->menu), menuitem);
|
||||
gtk_widget_show(menuitem);
|
||||
|
||||
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data", (gpointer)id);
|
||||
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data",
|
||||
GINT_TO_POINTER(id));
|
||||
gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
|
||||
GTK_SIGNAL_FUNC(menuitem_activate), dp);
|
||||
} else if (!uc->entry) {
|
||||
@ -436,7 +437,8 @@ void dlg_listbox_addwithid(union control *ctrl, void *dlg,
|
||||
GTK_SIGNAL_FUNC(widget_focus), dp);
|
||||
gtk_signal_connect(GTK_OBJECT(listitem), "button_press_event",
|
||||
GTK_SIGNAL_FUNC(listitem_button), dp);
|
||||
gtk_object_set_data(GTK_OBJECT(listitem), "user-data", (gpointer)id);
|
||||
gtk_object_set_data(GTK_OBJECT(listitem), "user-data",
|
||||
GINT_TO_POINTER(id));
|
||||
} else {
|
||||
/*
|
||||
* List item in a combo-box list, which means the sensible
|
||||
@ -448,7 +450,8 @@ void dlg_listbox_addwithid(union control *ctrl, void *dlg,
|
||||
gtk_container_add(GTK_CONTAINER(uc->list), listitem);
|
||||
gtk_widget_show(listitem);
|
||||
|
||||
gtk_object_set_data(GTK_OBJECT(listitem), "user-data", (gpointer)id);
|
||||
gtk_object_set_data(GTK_OBJECT(listitem), "user-data",
|
||||
GINT_TO_POINTER(id));
|
||||
}
|
||||
|
||||
dp->flags &= ~FLAG_UPDATING_COMBO_LIST;
|
||||
@ -470,7 +473,7 @@ int dlg_listbox_getid(union control *ctrl, void *dlg, int index)
|
||||
item = GTK_OBJECT(g_list_nth_data(children, index));
|
||||
g_list_free(children);
|
||||
|
||||
return (int)gtk_object_get_data(GTK_OBJECT(item), "user-data");
|
||||
return GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(item), "user-data"));
|
||||
}
|
||||
|
||||
/* dlg_listbox_index returns <0 if no single element is selected. */
|
||||
|
@ -2485,7 +2485,8 @@ void copy_all_menuitem(GtkMenuItem *item, gpointer data)
|
||||
void special_menuitem(GtkMenuItem *item, gpointer data)
|
||||
{
|
||||
struct gui_data *inst = (struct gui_data *)data;
|
||||
int code = (int)gtk_object_get_data(GTK_OBJECT(item), "user-data");
|
||||
int code = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(item),
|
||||
"user-data"));
|
||||
|
||||
inst->back->special(inst->backhandle, code);
|
||||
}
|
||||
@ -2836,7 +2837,7 @@ void update_specials_menu(void *frontend)
|
||||
if (*specials[i].name) {
|
||||
menuitem = gtk_menu_item_new_with_label(specials[i].name);
|
||||
gtk_object_set_data(GTK_OBJECT(menuitem), "user-data",
|
||||
(gpointer)specials[i].code);
|
||||
GINT_TO_POINTER(specials[i].code));
|
||||
gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
|
||||
GTK_SIGNAL_FUNC(special_menuitem), inst);
|
||||
} else
|
||||
|
@ -15,6 +15,9 @@ struct FontSpec {
|
||||
|
||||
typedef void *Context; /* FIXME: probably needs changing */
|
||||
|
||||
typedef int OSSocket;
|
||||
#define OSSOCKET_DEFINED /* stop network.h using its default */
|
||||
|
||||
extern Backend pty_backend;
|
||||
|
||||
/*
|
||||
|
10
unix/uxnet.c
10
unix/uxnet.c
@ -90,7 +90,7 @@ static int cmpfortree(void *av, void *bv)
|
||||
static int cmpforsearch(void *av, void *bv)
|
||||
{
|
||||
Actual_Socket b = (Actual_Socket) bv;
|
||||
int as = (int) av, bs = b->s;
|
||||
int as = *(int *)av, bs = b->s;
|
||||
if (as < bs)
|
||||
return -1;
|
||||
if (as > bs)
|
||||
@ -336,7 +336,7 @@ static struct socket_function_table tcp_fn_table = {
|
||||
sk_tcp_socket_error
|
||||
};
|
||||
|
||||
Socket sk_register(void *sock, Plug plug)
|
||||
Socket sk_register(OSSocket sockfd, Plug plug)
|
||||
{
|
||||
Actual_Socket ret;
|
||||
|
||||
@ -357,7 +357,7 @@ Socket sk_register(void *sock, Plug plug)
|
||||
ret->oobpending = FALSE;
|
||||
ret->listener = 0;
|
||||
|
||||
ret->s = (int)sock;
|
||||
ret->s = sockfd;
|
||||
|
||||
if (ret->s < 0) {
|
||||
ret->error = error_string(errno);
|
||||
@ -819,7 +819,7 @@ static int net_select_result(int fd, int event)
|
||||
u_long atmark;
|
||||
|
||||
/* Find the Socket structure */
|
||||
s = find234(sktree, (void *) fd, cmpforsearch);
|
||||
s = find234(sktree, &fd, cmpforsearch);
|
||||
if (!s)
|
||||
return 1; /* boggle */
|
||||
|
||||
@ -876,7 +876,7 @@ static int net_select_result(int fd, int event)
|
||||
|
||||
if (s->localhost_only && !ipv4_is_loopback(isa.sin_addr)) {
|
||||
close(t); /* someone let nonlocal through?! */
|
||||
} else if (plug_accepting(s->plug, (void*)t)) {
|
||||
} else if (plug_accepting(s->plug, t)) {
|
||||
close(t); /* denied or error */
|
||||
}
|
||||
break;
|
||||
|
Reference in New Issue
Block a user