@@ -107,25 +107,25 @@ static constexpr Memory_Funcs fuzz_memory_funcs = {
107107};
108108
109109static constexpr Network_Funcs fuzz_network_funcs = {
110- /* .close = */  { return 0 ; },
111- /* .accept = */  { return 1337 ; },
112- /* .bind = */  { return 0 ; },
113- /* .listen = */  { return 0 ; },
110+ /* .close = */  { return 0 ; },
111+ /* .accept = */  { return Socket{ 1337 } ; },
112+ /* .bind = */  { return 0 ; },
113+ /* .listen = */  { return 0 ; },
114114 /* .recvbuf = */
115-  {
116- assert (sock == 42 || sock == 1337 );
115+  {
116+ assert (sock. value == 42 || sock. value == 1337 );
117117 const size_t count = random_u16 (self->rng .get ());
118118 return static_cast <int >(std::min (count, self->data .size ()));
119119 },
120120 /* .recv = */
121-  {
122- assert (sock == 42 || sock == 1337 );
121+  {
122+ assert (sock. value == 42 || sock. value == 1337 );
123123 // Receive data from the fuzzer.
124124 return recv_common (self->data , buf, len);
125125 },
126126 /* .recvfrom = */
127-  {
128- assert (sock == 42 || sock == 1337 );
127+  {
128+ assert (sock. value == 42 || sock. value == 1337 );
129129
130130 addr->addr = sockaddr_storage{};
131131 // Dummy Addr
@@ -140,26 +140,26 @@ static constexpr Network_Funcs fuzz_network_funcs = {
140140 return recv_common (self->data , buf, len);
141141 },
142142 /* .send = */
143-  {
144- assert (sock == 42 || sock == 1337 );
143+  {
144+ assert (sock. value == 42 || sock. value == 1337 );
145145 // Always succeed.
146146 return static_cast <int >(len);
147147 },
148148 /* .sendto = */
149-  {
150- assert (sock == 42 || sock == 1337 );
149+  {
150+ assert (sock. value == 42 || sock. value == 1337 );
151151 // Always succeed.
152152 return static_cast <int >(len);
153153 },
154- /* .socket = */  { return 42 ; },
155- /* .socket_nonblock = */  { return 0 ; },
154+ /* .socket = */  { return Socket{ 42 } ; },
155+ /* .socket_nonblock = */  { return 0 ; },
156156 /* .getsockopt = */
157-  {
157+  {
158158 std::memset (optval, 0 , *optlen);
159159 return 0 ;
160160 },
161161 /* .setsockopt = */
162-  {
162+  {
163163 return 0 ;
164164 },
165165};
@@ -221,42 +221,42 @@ static constexpr Memory_Funcs null_memory_funcs = {
221221};
222222
223223static constexpr Network_Funcs null_network_funcs = {
224- /* .close = */  { return 0 ; },
225- /* .accept = */  { return 1337 ; },
226- /* .bind = */  { return 0 ; },
227- /* .listen = */  { return 0 ; },
228- /* .recvbuf = */  { return 0 ; },
224+ /* .close = */  { return 0 ; },
225+ /* .accept = */  { return Socket{ 1337 } ; },
226+ /* .bind = */  { return 0 ; },
227+ /* .listen = */  { return 0 ; },
228+ /* .recvbuf = */  { return 0 ; },
229229 /* .recv = */
230-  {
230+  {
231231 // Always fail.
232232 errno = ENOMEM;
233233 return -1 ;
234234 },
235235 /* .recvfrom = */
236-  {
236+  {
237237 // Always fail.
238238 errno = ENOMEM;
239239 return -1 ;
240240 },
241241 /* .send = */
242-  {
242+  {
243243 // Always succeed.
244244 return static_cast <int >(len);
245245 },
246246 /* .sendto = */
247-  {
247+  {
248248 // Always succeed.
249249 return static_cast <int >(len);
250250 },
251- /* .socket = */  { return 42 ; },
252- /* .socket_nonblock = */  { return 0 ; },
251+ /* .socket = */  { return Socket{ 42 } ; },
252+ /* .socket_nonblock = */  { return 0 ; },
253253 /* .getsockopt = */
254-  {
254+  {
255255 std::memset (optval, 0 , *optlen);
256256 return 0 ;
257257 },
258258 /* .setsockopt = */
259-  {
259+  {
260260 return 0 ;
261261 },
262262};
@@ -327,10 +327,10 @@ static constexpr Memory_Funcs record_memory_funcs = {
327327};
328328
329329static constexpr Network_Funcs record_network_funcs = {
330- /* .close = */  { return 0 ; },
331- /* .accept = */  { return 2 ; },
330+ /* .close = */  { return 0 ; },
331+ /* .accept = */  { return Socket{ 2 } ; },
332332 /* .bind = */
333-  {
333+  {
334334 const uint16_t port = get_port (addr);
335335 if (self->global_ .bound .find (port) != self->global_ .bound .end ()) {
336336 errno = EADDRINUSE;
@@ -340,17 +340,17 @@ static constexpr Network_Funcs record_network_funcs = {
340340 self->port = port;
341341 return 0 ;
342342 },
343- /* .listen = */  { return 0 ; },
344- /* .recvbuf = */  { return 0 ; },
343+ /* .listen = */  { return 0 ; },
344+ /* .recvbuf = */  { return 0 ; },
345345 /* .recv = */
346-  {
346+  {
347347 // Always fail.
348348 errno = ENOMEM;
349349 return -1 ;
350350 },
351351 /* .recvfrom = */
352-  {
353- assert (sock == 42 );
352+  {
353+ assert (sock. value == 42 );
354354 if (self->recvq .empty ()) {
355355 self->push (" \xff\xff " );
356356 errno = EWOULDBLOCK;
@@ -385,29 +385,30 @@ static constexpr Network_Funcs record_network_funcs = {
385385 return static_cast <int >(recvlen);
386386 },
387387 /* .send = */
388-  {
388+  {
389389 // Always succeed.
390390 return static_cast <int >(len);
391391 },
392392 /* .sendto = */
393-  {
394- assert (sock == 42 );
393+  {
395+ assert (sock.value == 42 );
395396 auto backend = self->global_ .bound .find (get_port (addr));
396397 assert (backend != self->global_ .bound .end ());
397398 backend->second ->receive (self->port , buf, len);
398399 return static_cast <int >(len);
399400 },
400- /* .socket = */  { return 42 ; },
401- /* .socket_nonblock = */  { return 0 ; },
401+ /* .socket = */
402+  { return Socket{42 }; },
403+ /* .socket_nonblock = */  { return 0 ; },
402404 /* .getsockopt = */
403-  {
405+  {
404406 std::memset (optval, 0 , *optlen);
405407 return 0 ;
406408 },
407409 /* .setsockopt = */
408-  {
409- return 0 ;
410- },
410+  { return 0 ; },
411412};
412413
413414static constexpr Random_Funcs record_random_funcs = {
0 commit comments