diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-08-30 10:42:09 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-08-30 10:42:09 +0000 |
commit | e8550265002a53f0a7e736aeb6b9b711b6bacfab (patch) | |
tree | 313b9622abf265d1e91ca27f9b8becaae738ce6f /ext/socket | |
parent | f5f30e580f90e2022f2c32935d5ba0e1eb00f1ed (diff) | |
download | ruby-e8550265002a53f0a7e736aeb6b9b711b6bacfab.tar.gz |
* ext/Win32API/Win32API.c (Win32API_Call): RSTRING()->ptr may be
NULL.
* ext/nkf/nkf.c (rb_nkf_guess): ditto.
* ext/readline/readline.c (readline_s_set_completion_append_character):
ditto.
* ext/socket/socket.c (sock_s_getaddrinfo, sock_s_getnameinfo):
ditto.
* ext/tcltklib/tcltklib.c (ip_toUTF8, ip_fromUTF8): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket')
-rw-r--r-- | ext/socket/socket.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 1e91c38c67..2e9731dbc4 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -2133,7 +2133,7 @@ sock_s_getaddrinfo(argc, argv) { VALUE host, port, family, socktype, protocol, flags, ret; char hbuf[1024], pbuf[1024]; - char *hptr, *pptr; + char *hptr, *pptr, *ap; struct addrinfo hints, *res; int error; @@ -2167,13 +2167,12 @@ sock_s_getaddrinfo(argc, argv) else if (FIXNUM_P(family)) { hints.ai_family = FIX2INT(family); } - else { - StringValue(family); - if (strcmp(RSTRING(family)->ptr, "AF_INET") == 0) { + else if ((ap = StringValuePtr(family)) != 0) { + if (strcmp(ap, "AF_INET") == 0) { hints.ai_family = PF_INET; } #ifdef INET6 - else if (strcmp(RSTRING(family)->ptr, "AF_INET6") == 0) { + else if (strcmp(ap, "AF_INET6") == 0) { hints.ai_family = PF_INET6; } #endif @@ -2211,7 +2210,7 @@ sock_s_getnameinfo(argc, argv) int error; struct sockaddr_storage ss; struct sockaddr *sap; - char *ep; + char *ep, *ap; sa = flags = Qnil; rb_scan_args(argc, argv, "11", &sa, &flags); @@ -2287,13 +2286,12 @@ sock_s_getnameinfo(argc, argv) else if (FIXNUM_P(af)) { hints.ai_family = FIX2INT(af); } - else { - StringValue(af); - if (strcmp(RSTRING(af)->ptr, "AF_INET") == 0) { + else if ((ap = StringValuePtr(af)) != 0) { + if (strcmp(ap, "AF_INET") == 0) { hints.ai_family = PF_INET; } #ifdef INET6 - else if (strcmp(RSTRING(af)->ptr, "AF_INET6") == 0) { + else if (ap, "AF_INET6") == 0) { hints.ai_family = PF_INET6; } #endif |