[macruby-changes] [5109] MacRuby/trunk/ext/socket/socket.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Jan 3 15:56:17 PST 2011
Revision: 5109
http://trac.macosforge.org/projects/ruby/changeset/5109
Author: watson1978 at gmail.com
Date: 2011-01-03 15:56:10 -0800 (Mon, 03 Jan 2011)
Log Message:
-----------
Socket API's getservbyport should be passed the value of network byte order.
Test Script:
{{{
require 'socket'
require 'test/unit/assertions.rb'
include Test::Unit::Assertions
assert_equal("directplay", Socket.getservbyport(2234))
assert_equal("directplaysrvr", Socket.getservbyport(47624))
puts :ok
}}}
Modified Paths:
--------------
MacRuby/trunk/ext/socket/socket.c
Modified: MacRuby/trunk/ext/socket/socket.c
===================================================================
--- MacRuby/trunk/ext/socket/socket.c 2011-01-03 23:14:14 UTC (rev 5108)
+++ MacRuby/trunk/ext/socket/socket.c 2011-01-03 23:56:10 UTC (rev 5109)
@@ -3252,7 +3252,7 @@
if (NIL_P(proto)) proto = rb_str_new2("tcp");
StringValue(proto);
- sp = getservbyport(NUM2INT(port), StringValueCStr(proto));
+ sp = getservbyport((int)htons((uint16_t)portnum), StringValueCStr(proto));
if (!sp) {
rb_raise(rb_eSocket, "no such service for port %ld/%s", NUM2LONG(port),
RSTRING_PTR(proto));
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20110103/3923c2db/attachment.html>
More information about the macruby-changes
mailing list