From: Razvan Deaconescu Date: Sat, 21 May 2011 09:58:50 +0000 (+0300) Subject: raw: Fill sw_getsockname "syscall". X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;h=094283b10f8dfe6f8e3b79657cf629e159a9036a;p=swifty.git raw: Fill sw_getsockname "syscall". --- 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; } /*