diff --git a/src/appserver.c b/src/appserver.c index acfea97..226d90e 100644 --- a/src/appserver.c +++ b/src/appserver.c @@ -101,7 +101,7 @@ static int _appserver_accept(int fd, AppServer * appserver) close(newfd); return 0; } - array_append(appserver->clients, asc); + array_append(appserver->clients, &asc); event_register_io_read(appserver->event, newfd, (EventIOFunc)_appserver_read, appserver); return 0; diff --git a/src/event.c b/src/event.c index 2a818ff..09b592d 100644 --- a/src/event.c +++ b/src/event.c @@ -238,7 +238,7 @@ int event_register_io_read(Event * event, int fd, EventIOFunc func, eventio->data = userdata; event->fdmax = max(event->fdmax, fd); FD_SET(fd, &event->rfds); - array_append(event->reads, eventio); + array_append(event->reads, &eventio); return 0; } @@ -256,7 +256,7 @@ int event_register_io_write(Event * event, int fd, EventIOFunc func, eventio->data = userdata; event->fdmax = max(event->fdmax, fd); FD_SET(fd, &event->wfds); - array_append(event->writes, eventio); + array_append(event->writes, &eventio); return 0; } @@ -278,7 +278,7 @@ int event_register_timeout(Event * event, struct timeval timeout, eventtimeout->timeout.tv_usec = now.tv_usec + timeout.tv_usec; eventtimeout->func = func; eventtimeout->data = data; - array_append(event->timeouts, eventtimeout); + array_append(event->timeouts, &eventtimeout); if(event->timeout.tv_sec > timeout.tv_sec || (event->timeout.tv_sec == timeout.tv_sec && event->timeout.tv_usec > timeout.tv_usec))