aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ext/socket/raddrinfo.c4
-rw-r--r--ext/socket/socket.c6
-rw-r--r--ext/socket/unixsocket.c2
4 files changed, 14 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 38d8c981c0..30a2613492 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sun Mar 1 22:59:41 2009 Tanaka Akira <akr@fsij.org>
+
+ * ext/socket/raddrinfo.c: suppress warnings.
+
+ * ext/socket/socket.c: ditto.
+
+ * ext/socket/unixsocket.c: ditto.
+
Sun Mar 1 20:57:41 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/ (rsock_getfamily): renamed from rb_sock_getfamily.
diff --git a/ext/socket/raddrinfo.c b/ext/socket/raddrinfo.c
index 1281d87cc8..9b9aabf7f1 100644
--- a/ext/socket/raddrinfo.c
+++ b/ext/socket/raddrinfo.c
@@ -725,7 +725,7 @@ init_unix_addrinfo(rb_addrinfo_t *rai, VALUE path, int socktype)
StringValue(path);
- if (sizeof(un.sun_path) <= RSTRING_LEN(path))
+ if (sizeof(un.sun_path) <= (size_t)RSTRING_LEN(path))
rb_raise(rb_eArgError, "too long unix socket path (max: %dbytes)",
(int)sizeof(un.sun_path)-1);
@@ -1260,7 +1260,7 @@ addrinfo_mload(VALUE self, VALUE ary)
sun.sun_family = AF_UNIX;
StringValue(v);
- if (sizeof(sun.sun_path) <= RSTRING_LEN(v))
+ if (sizeof(sun.sun_path) <= (size_t)RSTRING_LEN(v))
rb_raise(rb_eSocket, "too long AF_UNIX path");
memcpy(sun.sun_path, RSTRING_PTR(v), RSTRING_LEN(v));
len = sizeof(sun);
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index c1a2beb2c1..fa73dbb68a 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -1153,11 +1153,11 @@ sock_s_getnameinfo(int argc, VALUE *argv)
tmp = rb_check_sockaddr_string_type(sa);
if (!NIL_P(tmp)) {
sa = tmp;
- if (sizeof(ss) < RSTRING_LEN(sa)) {
+ if (sizeof(ss) < (size_t)RSTRING_LEN(sa)) {
rb_raise(rb_eTypeError, "sockaddr length too big");
}
memcpy(&ss, RSTRING_PTR(sa), RSTRING_LEN(sa));
- if (RSTRING_LEN(sa) != SS_LEN(&ss)) {
+ if ((size_t)RSTRING_LEN(sa) != SS_LEN(&ss)) {
rb_raise(rb_eTypeError, "sockaddr size differs - should not happen");
}
sap = (struct sockaddr*)&ss;
@@ -1386,7 +1386,7 @@ sock_s_unpack_sockaddr_un(VALUE self, VALUE addr)
if (((struct sockaddr *)sockaddr)->sa_family != AF_UNIX) {
rb_raise(rb_eArgError, "not an AF_UNIX sockaddr");
}
- if (sizeof(struct sockaddr_un) < RSTRING_LEN(addr)) {
+ if (sizeof(struct sockaddr_un) < (size_t)RSTRING_LEN(addr)) {
rb_raise(rb_eTypeError, "too long sockaddr_un - %ld longer than %d",
RSTRING_LEN(addr), (int)sizeof(struct sockaddr_un));
}
diff --git a/ext/socket/unixsocket.c b/ext/socket/unixsocket.c
index 79e4d6ee76..d3ebbf343d 100644
--- a/ext/socket/unixsocket.c
+++ b/ext/socket/unixsocket.c
@@ -38,7 +38,7 @@ rsock_init_unixsock(VALUE sock, VALUE path, int server)
MEMZERO(&sockaddr, struct sockaddr_un, 1);
sockaddr.sun_family = AF_UNIX;
- if (sizeof(sockaddr.sun_path) <= RSTRING_LEN(path)) {
+ if (sizeof(sockaddr.sun_path) <= (size_t)RSTRING_LEN(path)) {
rb_raise(rb_eArgError, "too long unix socket path (max: %dbytes)",
(int)sizeof(sockaddr.sun_path)-1);
}