From f0b2c123c4736660211a1bff68bc45f0a524d5e9 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 30 Aug 2002 10:42:09 +0000 Subject: * 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: http://svn.ruby-lang.org/repos/ruby/trunk@2768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/socket/socket.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'ext/socket') diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 1e91c38c6..2e9731dbc 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 -- cgit