From 09d741f58a50f7e9ec2d6e0634f8ab5b11a7de5f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 11 Aug 2022 17:04:54 +0100 Subject: [PATCH] Simplify realloc use in poll.c --- src/poll.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/poll.c b/src/poll.c index 0e5964d..bbb9009 100644 --- a/src/poll.c +++ b/src/poll.c @@ -96,9 +96,7 @@ void poll_listen(int fd, short event) pollfds[i].events |= event; else { - if (arrsize != nfds) - memmove(&pollfds[i+1], &pollfds[i], (nfds - i) * sizeof(struct pollfd)); - else + if (arrsize == nfds) { /* Array too small, extend. */ struct pollfd *new; @@ -108,17 +106,11 @@ void poll_listen(int fd, short event) if (!(new = whine_realloc(pollfds, arrsize * sizeof(struct pollfd)))) return; - if (pollfds) - { - memmove(&new[i+1], &new[i], (nfds - i) * sizeof(struct pollfd)); - /* clear remaining space with zeroes. */ - if (nfds+1 < arrsize) - memset(new+nfds+1, 0, arrsize-nfds-1); - } - pollfds = new; } - + + memmove(&pollfds[i+1], &pollfds[i], (nfds - i) * sizeof(struct pollfd)); + pollfds[i].fd = fd; pollfds[i].events = event; nfds++;