if (sap_addrtype) {
struct in6_addr in6addr;
- memcpy(in6addr.in6_u.u6_addr8, sender_address, 16);
+ memcpy(in6addr.s6_addr, sender_address, 16);
if (!(sdpinfo->host = (char*)inet_ntop(AF_INET6, &in6addr, hostbuf, INET6_ADDRSTRLEN))) {
perror("inet_ntop");
continue;
}
}
- } while(curr.tv_sec < start.tv_sec+SAP_TIMEOUT);
+ } while(curr.tv_sec < start.tv_sec+SAP_TIMEOUT ||
+ ((curr.tv_sec == start.tv_sec+SAP_TIMEOUT) && (curr.tv_usec < start.tv_usec)));
if (!(inet_aton(SAP_ADDR, &sapinaddr))) {
perror("inet_aton");