1.0.2 Fix sock_recvfrom not recognizing the address family
This commit is contained in:
14
sock.h
14
sock.h
@@ -1,4 +1,4 @@
|
|||||||
// sock - v1.0.0 - MIT License - https://github.com/seajee/sock.h
|
// sock - v1.0.2 - MIT License - https://github.com/seajee/sock.h
|
||||||
|
|
||||||
#ifndef SOCK_H_
|
#ifndef SOCK_H_
|
||||||
#define SOCK_H_
|
#define SOCK_H_
|
||||||
@@ -213,7 +213,12 @@ ssize_t sock_sendto(Sock *sock, const void *buf, size_t size, SockAddr addr)
|
|||||||
ssize_t sock_recvfrom(Sock *sock, void *buf, size_t size, SockAddr *addr)
|
ssize_t sock_recvfrom(Sock *sock, void *buf, size_t size, SockAddr *addr)
|
||||||
{
|
{
|
||||||
ssize_t res = recvfrom(sock->fd, buf, size, 0, &addr->sockaddr,
|
ssize_t res = recvfrom(sock->fd, buf, size, 0, &addr->sockaddr,
|
||||||
&addr->len);
|
&sock->addr.len);
|
||||||
|
if (res < 0) {
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Received sa_family: %d\n", addr->sockaddr.sa_family);
|
||||||
|
|
||||||
switch (addr->sockaddr.sa_family) {
|
switch (addr->sockaddr.sa_family) {
|
||||||
case AF_INET: {
|
case AF_INET: {
|
||||||
@@ -233,8 +238,7 @@ ssize_t sock_recvfrom(Sock *sock, void *buf, size_t size, SockAddr *addr)
|
|||||||
} break;
|
} break;
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
// TODO: Sometimes this assertion hits because sa_family == 64
|
assert(false && "Unreachable address family");
|
||||||
assert(false && "Unsupported address family");
|
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -252,6 +256,8 @@ void sock_close(Sock *sock)
|
|||||||
/*
|
/*
|
||||||
Revision history:
|
Revision history:
|
||||||
|
|
||||||
|
1.0.2 (2025-04-25) Fix sock_recvfrom not recognizing the address
|
||||||
|
family
|
||||||
1.0.1 (2025-04-25) Handle different kind of sockaddr with a union
|
1.0.1 (2025-04-25) Handle different kind of sockaddr with a union
|
||||||
1.0.0 (2025-04-25) Initial release
|
1.0.0 (2025-04-25) Initial release
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user