Changeset 21402
- Timestamp:
- 10/16/08 09:08:06 (5 years ago)
- Location:
- lang/cplusplus/llv8call/trunk
- Files:
-
- 2 modified
-
ext/socket/socket.cc (modified) (2 diffs)
-
t/100_socket/02_misc.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/cplusplus/llv8call/trunk/ext/socket/socket.cc
r21401 r21402 303 303 END 304 304 305 FUNCTION(_getservbyname) 306 // @prototype getservbyname(servicename[, protocolname]) 307 ARG_BETWEEN(1,2); 308 ARG_str(servicename, 0); 309 ARG_str(protocolname, 1); 310 char *protoname = NULL; 311 if (args.Length() == 2) { 312 protoname = *protocolname; 313 } 314 struct servent * ent = getservbyname(*servicename, protoname); 315 if (ent) { 316 return Uint32::New( ntohs(ent->s_port) ); 317 } else { 318 return ThrowException(String::New("service/proto not found")); 319 } 320 END 321 305 322 FUNCTION(_accept) 306 323 EXTERNAL_SOCKET(); … … 715 732 BIND_CM("gethostbyname", _gethostbyname); 716 733 BIND_CM("getprotobyname", _getprotobyname); 734 BIND_CM("getservbyname", _getservbyname); 717 735 BIND_CM("inet_aton", _inet_aton); 718 736 BIND_CM("inet_ntoa", _inet_ntoa); -
lang/cplusplus/llv8call/trunk/t/100_socket/02_misc.js
r21400 r21402 1 1 require('t/util.js'); 2 2 3 plan({tests: 8});3 plan({tests:12}); 4 4 5 5 check_lib("org.coderepos.socket", 'Socket'); … … 14 14 is(Socket.getprotobyname('tcp'), 6, 'getprotobyname'); 15 15 16 is(Socket.getservbyname('http'), 80, 'getservbyname'); 17 is(Socket.getservbyname('snmp'), 161, 'getservbyname'); 18 is(Socket.getservbyname('snmp', 'udp'), 161, 'getservbyname(snmp,udp)'); 19 is(Socket.getservbyname('http', 'tcp'), 80, 'getservbyname'); 20
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)