[前][次][番号順一覧][スレッド一覧]

ruby-changes:10624

From: akr <ko1@a...>
Date: Mon, 9 Feb 2009 20:20:07 +0900 (JST)
Subject: [ruby-changes:10624] Ruby:r22181 (trunk): * ext/socket/basicsocket.c (bsock_getsockname): use sockaddr_storage.

akr	2009-02-09 20:19:57 +0900 (Mon, 09 Feb 2009)

  New Revision: 22181

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22181

  Log:
    * ext/socket/basicsocket.c (bsock_getsockname): use sockaddr_storage.

  Modified files:
    trunk/ChangeLog
    trunk/ext/socket/basicsocket.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 22180)
+++ ChangeLog	(revision 22181)
@@ -1,3 +1,7 @@
+Mon Feb  9 20:19:36 2009  Tanaka Akira  <akr@f...>
+
+	* ext/socket/basicsocket.c (bsock_getsockname): use sockaddr_storage.
+
 Mon Feb  9 20:11:55 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* ext/win32ole/win32ole.c (load_conv_function51932): fixed for the
Index: ext/socket/basicsocket.c
===================================================================
--- ext/socket/basicsocket.c	(revision 22180)
+++ ext/socket/basicsocket.c	(revision 22181)
@@ -326,14 +326,14 @@
 static VALUE
 bsock_getsockname(VALUE sock)
 {
-    char buf[1024];
+    struct sockaddr_storage buf;
     socklen_t len = sizeof buf;
     rb_io_t *fptr;
 
     GetOpenFile(sock, fptr);
-    if (getsockname(fptr->fd, (struct sockaddr*)buf, &len) < 0)
+    if (getsockname(fptr->fd, (struct sockaddr*)&buf, &len) < 0)
 	rb_sys_fail("getsockname(2)");
-    return rb_str_new(buf, len);
+    return rb_str_new((char*)&buf, len);
 }
 
 /*

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]