mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-11-01 15:08:21 +00:00
sock: fix abisockaddr type not being returned
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user