rem: if (bind(udp_sock, (struct sockaddr*) &addr, sizeof(addr))==-1){
add: if (bind(udp_sock, (struct sockaddr*) addr, sizeof(struct sockaddr))==-1){
context: int udp_init(unsigned long ip, unsigned short port){	struct sockaddr_in addr;	int optval;	addr.sin_family=AF_INET;	addr.sin_port=htons(port);	addr.sin_addr.s_addr=ip;	udp_sock = socket(PF_INET, SOCK_DGRAM, 0);	if (udp_sock==-1){		DPrint("ERROR: udp_init: socket: %s\n", strerror());		goto error;	}	/* set sock opts? */	optval=1;	if (setsockopt(udp_sock, SOL_SOCKET, SO_REUSEADDR,					(void*)&optval, sizeof(optval)) ==-1)	{		DPrint("ERROR: udp_init: setsockopt: %s\n", strerror());		goto error;	}	if (bind(udp_sock, (struct sockaddr*) &addr, sizeof(addr))==-1){		DPrint("ERROR: udp_init: bind: %s\n", strerror());		goto error;	}	return 0;error:	return -1;}