ability for changes to be null
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 18 Jan 2022 17:53:50 +0000 (11:53 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 18 Jan 2022 17:53:50 +0000 (11:53 -0600)
core/net/net.onyx

index 76776599b331514ba9a86e56a43dde9ae8c66223..f39bee3e1da2f14d3fed2b4ea990c127800c8d67 100644 (file)
@@ -90,8 +90,6 @@ socket_accept :: (s: ^Socket) -> Socket {
 }
 
 socket_poll_all :: (changed: ^[] ^Socket, timeout: i32, sockets: [] ^Socket) {
-    assert(changed.count >= sockets.count, "Not enough space.");
-
     handles := (cast(^Socket.Handle) alloc.from_stack(sockets.count * sizeof Socket.Handle))[0 .. sockets.count];
     for i: sockets.count {
         handles[i] = sockets[i].handle;
@@ -100,6 +98,8 @@ socket_poll_all :: (changed: ^[] ^Socket, timeout: i32, sockets: [] ^Socket) {
     handles_changed := cast(^Socket.Handle) alloc.from_stack(sockets.count * sizeof Socket.Handle);
     num_changed := __net_poll_recv(handles, timeout, handles_changed);
 
+    if changed == null do return;
+
     changed.count = 0;
     for i: num_changed {
         for sockets {