c - net_ntoa, struct sockaddr_in and pointer cast -
for third line in following snippet:
char cli_ip[20]; struct sockaddr cliaddr; ....... memcpy(cli_ip, inet_ntoa(((struct sockaddr_in *)cliaddr)->sin_addr), 20); i got errors:
udp_receiver.c:96:41: error: cannot convert pointer type udp_receiver.c:96:41: warning: passing argument 2 of ‘memcpy’ makes pointer integer without cast [enabled default] /usr/include/string.h:44:14: note: expected ‘const void * restrict’ argument of type ‘int’
what reason this?
have included headers appropriately?
man of inet_ntoa suggests following include
#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> it might case compiler not find prototype of inet_ntoa , assumes returns int , gives warning in memcpy.
Comments
Post a Comment