diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-11-01 15:10:49 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-11-01 15:10:49 -0700 |
commit | 1399b479e90cf94f7fe6d8580a93b8aa86cf6c66 (patch) | |
tree | dd8ea76eae5de3face75584296039d36bb5d718d /src | |
parent | 2c4a776b6f48317127f9ea57d749484fc7b3741c (diff) |
write source of message in recvmsg
Diffstat (limited to 'src')
-rw-r--r-- | src/library.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/library.js b/src/library.js index 05bbd3c0..492016a4 100644 --- a/src/library.js +++ b/src/library.js @@ -6675,7 +6675,7 @@ LibraryManager.library = { return ret; }, - recvmsg__deps: ['$Sockets', 'connect', 'recv', '__setErrNo', '$ERRNO_CODES'], + recvmsg__deps: ['$Sockets', 'connect', 'recv', '__setErrNo', '$ERRNO_CODES', 'htons'], recvmsg: function(fd, msg, flags) { var info = Sockets.fds[fd]; if (!info) return -1; @@ -6697,6 +6697,11 @@ LibraryManager.library = { #if SOCKET_DEBUG Module.print('recvmsg bytes: ' + bytes); #endif + // write source + var name = {{{ makeGetValue('msg', 'Sockets.msghdr_layout.msg_name', '*') }}}; + {{{ makeSetValue('name', 'Sockets.sockaddr_in_layout.sin_addr', 'info.addr', 'i32') }}}; + {{{ makeSetValue('name', 'Sockets.sockaddr_in_layout.sin_port', '_htons(info.port)', 'i16') }}}; + // write data var ret = bytes; var iov = {{{ makeGetValue('msg', 'Sockets.msghdr_layout.msg_iov', 'i8*') }}}; var num = {{{ makeGetValue('msg', 'Sockets.msghdr_layout.msg_iovlen', 'i32') }}}; |