sock: fix abisockaddr type not being returned

This commit is contained in:
Matheus
2024-06-10 23:01:19 -03:00
parent a5cfcb28c8
commit 34596bb5e9
2 changed files with 2 additions and 3 deletions
+2
View File
@@ -79,11 +79,13 @@ static inline int sock_addrtoabiaddr(int socktype, sockaddr_t *sockaddr, abisock
switch (socktype) { switch (socktype) {
case SOCKET_TYPE_UDP: case SOCKET_TYPE_UDP:
case SOCKET_TYPE_TCP: case SOCKET_TYPE_TCP:
abisockaddr->type = AF_INET;
inaddr_t *inaddr = (inaddr_t *)abisockaddr; inaddr_t *inaddr = (inaddr_t *)abisockaddr;
inaddr->sin_addr = cpu_to_be_d(sockaddr->ipv4addr.addr); inaddr->sin_addr = cpu_to_be_d(sockaddr->ipv4addr.addr);
inaddr->sin_port = cpu_to_be_w(sockaddr->ipv4addr.port); inaddr->sin_port = cpu_to_be_w(sockaddr->ipv4addr.port);
break; break;
case SOCKET_TYPE_LOCAL: case SOCKET_TYPE_LOCAL:
abisockaddr->type = AF_LOCAL;
unaddr_t *unaddr = (unaddr_t *)abisockaddr; unaddr_t *unaddr = (unaddr_t *)abisockaddr;
strcpy(unaddr->sun_path, sockaddr->path); strcpy(unaddr->sun_path, sockaddr->path);
break; break;
-3
View File
@@ -6,9 +6,6 @@ syscallret_t syscall_getpeername(context_t *, int fd, void *uaddr, int *addrlen)
.ret = -1 .ret = -1
}; };
ret.errno = ENOSYS;
return ret;
file_t *file = fd_get(fd); file_t *file = fd_get(fd);
if (file == NULL) { if (file == NULL) {
ret.errno = EBADF; ret.errno = EBADF;