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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to