- fixed bug in win32 ethernet driver

pull/143/head
Michael Zillgith 8 years ago
parent 36a1660d71
commit ac3a07c5a4

@ -63,7 +63,9 @@ void
EthernetHandleSet_addSocket(EthernetHandleSet self, const EthernetSocket sock) EthernetHandleSet_addSocket(EthernetHandleSet self, const EthernetSocket sock)
{ {
if (self != NULL && sock != NULL) { if (self != NULL && sock != NULL) {
int i = self->nhandles++; int i = self->nhandles++;
self->handles = realloc(self->handles, self->nhandles * sizeof(struct pollfd)); self->handles = realloc(self->handles, self->nhandles * sizeof(struct pollfd));
self->handles[i].fd = sock->rawSocket; self->handles[i].fd = sock->rawSocket;
@ -75,7 +77,9 @@ void
EthernetHandleSet_removeSocket(EthernetHandleSet self, const EthernetSocket sock) EthernetHandleSet_removeSocket(EthernetHandleSet self, const EthernetSocket sock)
{ {
if ((self != NULL) && (sock != NULL)) { if ((self != NULL) && (sock != NULL)) {
unsigned i;
int i;
for (i = 0; i < self->nhandles; i++) { for (i = 0; i < self->nhandles; i++) {
if (self->handles[i].fd == sock->rawSocket) { if (self->handles[i].fd == sock->rawSocket) {
memmove(&self->handles[i], &self->handles[i+1], sizeof(struct pollfd) * (self->nhandles - i - 1)); memmove(&self->handles[i], &self->handles[i+1], sizeof(struct pollfd) * (self->nhandles - i - 1));

@ -138,7 +138,9 @@ void
EthernetHandleSet_addSocket(EthernetHandleSet self, const EthernetSocket sock) EthernetHandleSet_addSocket(EthernetHandleSet self, const EthernetSocket sock)
{ {
if (self != NULL && sock != NULL) { if (self != NULL && sock != NULL) {
int i = self->nhandles++; int i = self->nhandles++;
self->handles = (HANDLE *) realloc(self->handles, self->nhandles * sizeof(HANDLE)); self->handles = (HANDLE *) realloc(self->handles, self->nhandles * sizeof(HANDLE));
self->handles[i] = pcap_getevent(sock->rawSocket); self->handles[i] = pcap_getevent(sock->rawSocket);
@ -149,9 +151,10 @@ void
EthernetHandleSet_removeSocket(EthernetHandleSet self, const EthernetSocket sock) EthernetHandleSet_removeSocket(EthernetHandleSet self, const EthernetSocket sock)
{ {
if ((self != NULL) && (sock != NULL)) { if ((self != NULL) && (sock != NULL)) {
HANDLE h = pcap_getevent(socket->rawSocket); HANDLE h = pcap_getevent(sock->rawSocket);
int i;
unsigned i;
for (i = 0; i < self->nhandles; i++) { for (i = 0; i < self->nhandles; i++) {
if (self->handles[i] == h) { if (self->handles[i] == h) {
memmove(&self->handles[i], &self->handles[i+1], sizeof(HANDLE) * (self->nhandles - i - 1)); memmove(&self->handles[i], &self->handles[i+1], sizeof(HANDLE) * (self->nhandles - i - 1));

Loading…
Cancel
Save