From 094283b10f8dfe6f8e3b79657cf629e159a9036a Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sat, 21 May 2011 12:58:50 +0300 Subject: [PATCH] raw: Fill sw_getsockname "syscall". --- src/raw/swift_raw.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/raw/swift_raw.c b/src/raw/swift_raw.c index 9e943f5..0bed1af 100644 --- a/src/raw/swift_raw.c +++ b/src/raw/swift_raw.c @@ -206,9 +206,22 @@ list_elem_err: int sw_getsockname(int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) { - /* TODO */ + struct sock_list *list; + + /* Find socket in management structure. */ + list = list_elem_from_socket(__fd); + if (list == NULL) { + errno = EBADF; + goto list_elem_err; + } + + memcpy(__addr, &list->addr, sizeof(list->addr)); + *__len = sizeof(list->addr); return 0; + +list_elem_err: + return -1; } /* -- 2.20.1