--- rpl/src/instructions_w1.c 2020/04/06 10:14:06 1.121 +++ rpl/src/instructions_w1.c 2023/11/24 08:10:19 1.127 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.32 - Copyright (C) 1989-2020 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.35 + Copyright (C) 1989-2023 Dr. BERTRAND Joël This file is part of RPL/2. @@ -3102,12 +3102,10 @@ instruction_wfdata(struct_processus *s_e static inline logical1 options_sockets(struct_processus *s_etat_processus, struct_socket *s_socket) { - int drapeau; - if (((*s_socket).options & (1 << d_BROADCAST)) != 0) { - if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_BROADCAST, &drapeau, - sizeof(drapeau)) != 0) + if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_BROADCAST, NULL, 0) + != 0) { return(d_erreur); } @@ -3115,8 +3113,8 @@ options_sockets(struct_processus *s_etat if (((*s_socket).options & (1 << d_DONT_ROUTE)) != 0) { - if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_DONTROUTE, &drapeau, - sizeof(drapeau)) != 0) + if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_DONTROUTE, NULL, 0) + != 0) { return(d_erreur); } @@ -3124,8 +3122,8 @@ options_sockets(struct_processus *s_etat if (((*s_socket).options & (1 << d_KEEP_ALIVE)) != 0) { - if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_KEEPALIVE, &drapeau, - sizeof(drapeau)) != 0) + if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_KEEPALIVE, NULL, 0) + != 0) { return(d_erreur); } @@ -3282,7 +3280,7 @@ instruction_wfsock(struct_processus *s_e (*s_objet_argument).objet)).type, "SEQUENTIAL DATAGRAM") != 0)) { // Mode non connecté : l'attente se fait sur un poll() - +#define DEBUG_RETURN if ((s_objet_resultat = copie_objet(s_etat_processus, s_objet_argument, 'P')) == NULL) { @@ -3484,6 +3482,7 @@ instruction_wfsock(struct_processus *s_e } } while(drapeau == d_faux); +printf("socket: %d\n", (*((struct_socket *) (*s_objet_resultat).objet)).socket); if (((*((struct_socket *) (*s_objet_resultat).objet)) .adresse_distante = malloc(22 * sizeof(unsigned char))) == NULL)