diff options
-rw-r--r-- | src/library.js | 10 | ||||
-rw-r--r-- | system/include/netdb.h | 1 | ||||
-rw-r--r-- | tests/test_sockets.py | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/src/library.js b/src/library.js index 2c60c8ba..f94bec13 100644 --- a/src/library.js +++ b/src/library.js @@ -7305,7 +7305,7 @@ LibraryManager.library = { name = Pointer_stringify(name); // generate hostent - var ret = _malloc(___hostent_struct_layout.__size__); + var ret = _malloc(___hostent_struct_layout.__size__); // XXX possibly leaked, as are others here var nameBuf = _malloc(name.length+1); writeStringToMemory(name, nameBuf); {{{ makeSetValue('ret', '___hostent_struct_layout.h_name', 'nameBuf', 'i8*') }}} @@ -7324,12 +7324,12 @@ LibraryManager.library = { }, gethostbyname_r__deps: ['gethostbyname'], - gethostbyname_r: function(name, hostData, buffer, bufferSize, hostEntry, errnum) { + gethostbyname_r: function(name, ret, buf, buflen, err) { var data = _gethostbyname(name); - _memcpy(hostData, data, ___hostent_struct_layout.__size__); + _memcpy(ret, data, ___hostent_struct_layout.__size__); _free(data); - {{{ makeSetValue('errnum', '0', '0', 'i32') }}} - return 0; + {{{ makeSetValue('err', '0', '0', 'i32') }}}; + return ret; }, getaddrinfo__deps: ['$Sockets', '$DNS', '_addrinfo_layout', '_inet_pton4_raw', '_inet_ntop4_raw', '_inet_pton6_raw', '_inet_ntop6_raw', '_write_sockaddr', 'htonl'], diff --git a/system/include/netdb.h b/system/include/netdb.h index df74a117..fa71f58f 100644 --- a/system/include/netdb.h +++ b/system/include/netdb.h @@ -101,6 +101,7 @@ struct hostent struct hostent* gethostbyaddr(const void* addr, socklen_t len, int type); struct hostent* gethostbyname(const char* name); +struct hostent* gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, int *err); // XXX not quite standard, see http://linux.die.net/man/3/gethostbyname_r void sethostent(int stayopen); void endhostent(void); void herror(const char* s); diff --git a/tests/test_sockets.py b/tests/test_sockets.py index c19b9d5d..d2bc46a2 100644 --- a/tests/test_sockets.py +++ b/tests/test_sockets.py @@ -297,7 +297,7 @@ class sockets(BrowserCore): pwd = os.getcwd() os.chdir(self.in_dir('enet')) Popen([PYTHON, path_from_root('emconfigure'), './configure']).communicate() - Popen([PYTHON, path_from_root('emmake'), 'make', 'CFLAGS=-UHAS_GETHOSTBYADDR_R -UHAS_GETHOSTBYNAME_R']).communicate() + Popen([PYTHON, path_from_root('emmake'), 'make']).communicate() enet = [self.in_dir('enet', '.libs', 'libenet.a'), '-I'+path_from_root('tests', 'enet', 'include')] os.chdir(pwd) |