tIPStackBuffer *buffer = IPStack_Buffer_CreateBuffer(1 + IPV4_BUFFERS);
IPStack_Buffer_AppendSubBuffer(buffer, Length, 0, hdr, NULL, NULL);
IPv4_SendPacket(Interface, *(tIPv4*)Address, 1, ntohs(hdr->Sequence), buffer);
- IPStack_Buffer_DestroyBuffer(buffer);
break;
default:
break;
tIPStackBuffer *buffer = IPStack_Buffer_CreateBuffer(1 + IPV4_BUFFERS);
IPStack_Buffer_AppendSubBuffer(buffer, sizeof(buf), 0, buf, NULL, NULL);
IPv4_SendPacket(Interface, Addr, 1, i, buffer);
- IPStack_Buffer_DestroyBuffer(buffer);
end = ts + Interface->TimeoutDelay;
while( !gICMP_PingSlots[i].bArrived && now() < end) Threads_Yield();
- if(now() >= end)
+ if( !gICMP_PingSlots[i].bArrived )
return -1;
return (int)( now() - ts );