Hi List, By the way here is an error fixing... I was trying to compile axis2c from source given in the repository and errors by make: r_953600.error
My patch is: r_953600.patch Here is a short writing about the phenomenon: http://portabilityblog.com/blog/archives/7-socklen_t-confusion.html Give me any feedback about the patch please! Regards, Akos Marton
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -g -O2 -D_LARGEFILE64_SOURCE -ansi -Wall -Werror -Wno-implicit-function-declaration -D_GNU_SOURCE -DAXIS2_TRACE -MT network_handler.lo -MD -MP -MF .deps/network_handler.Tpo -c network_handler.c -fPIC -DPIC -o .libs/network_handler.o cc1: warnings being treated as errors network_handler.c: In function 'axutil_network_handler_read_dgram': network_handler.c:443: error: pointer targets in passing argument 6 of 'recvfrom' differ in signedness /usr/include/sys/socket.h:166: note: expected 'socklen_t * __restrict__' but argument is of type 'int *' network_handler.c: In function 'axutil_network_handler_send_dgram': network_handler.c:517: error: pointer targets in passing argument 3 of 'getsockname' differ in signedness /usr/include/sys/socket.h:119: note: expected 'socklen_t * __restrict__' but argument is of type 'int *' mv -f .deps/dir_handler.Tpo .deps/dir_handler.Plo make[5]: *** [network_handler.lo] Error 1 make[5]: *** Waiting for unfinished jobs.... libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -g -O2 -D_LARGEFILE64_SOURCE -ansi -Wall -Werror -Wno-implicit-function-declaration -D_GNU_SOURCE -DAXIS2_TRACE -MT class_loader.lo -MD -MP -MF .deps/class_loader.Tpo -c class_loader.c -o class_loader.o >/dev/null 2>&1 mv -f .deps/utils.Tpo .deps/utils.Plo mv -f .deps/class_loader.Tpo .deps/class_loader.Plo
Index: network_handler.c
===================================================================
--- network_handler.c (revision 953600)
+++ network_handler.c (working copy)
@@ -437,11 +437,12 @@
{
struct sockaddr_in sender_address;
int received = 0;
- int sender_address_size = sizeof(sender_address);
+/* int sender_address_size = sizeof(sender_address); */
+/* received = recvfrom(sock, buffer, *buf_len, 0, (struct sockaddr
*)&sender_address, &sender_address_size);*/
+ socklen_t sender_address_size;
+ sender_address_size = sizeof(sender_address);
+ received = recvfrom(sock, buffer, *buf_len, 0, (struct sockaddr
*)&sender_address, &sender_address_size);
- received = recvfrom(sock, buffer, *buf_len, 0, (struct sockaddr
*)&sender_address,
- &sender_address_size);
-
#ifdef WIN32
if (SOCKET_ERROR == received)
{
@@ -483,7 +484,8 @@
struct sockaddr_in recv_addr, source_addr;
int send_bytes = 0;
unsigned int recv_addr_size = 0;
- int source_addr_size = sizeof(source_addr);
+/* int source_addr_size = sizeof(source_addr); */
+ socklen_t source_addr_size = sizeof(source_addr);
recv_addr_size = sizeof(recv_addr);
memset(&recv_addr, 0, sizeof(recv_addr));
signature.asc
Description: OpenPGP digital signature
