From 0cccdf5dc5983555178493ccd9fea686dc6bf194 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 23 Oct 2008 05:08:10 +0000 Subject: * ext/socket/socket.c (sock_s_getservbyname): unuse unnecessary object. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/socket/socket.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'ext/socket/socket.c') diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 5788632f8..a47c6d47d 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -3222,23 +3222,23 @@ sock_s_getservbyname(int argc, VALUE *argv) VALUE service, proto; struct servent *sp; int port; + const char *servicename, *protoname = "tcp"; rb_scan_args(argc, argv, "11", &service, &proto); - if (NIL_P(proto)) proto = rb_str_new2("tcp"); StringValue(service); - StringValue(proto); - - sp = getservbyname(StringValueCStr(service), StringValueCStr(proto)); + if (!NIL_P(proto)) StringValue(proto); + servicename = StringValueCStr(service); + if (!NIL_P(proto)) protoname = StringValueCStr(proto); + sp = getservbyname(servicename, protoname); if (sp) { port = ntohs(sp->s_port); } else { - char *s = RSTRING_PTR(service); char *end; - port = STRTOUL(s, &end, 0); + port = STRTOUL(servicename, &end, 0); if (*end != '\0') { - rb_raise(rb_eSocket, "no such service %s/%s", s, RSTRING_PTR(proto)); + rb_raise(rb_eSocket, "no such service %s/%s", servicename, protoname); } } return INT2FIX(port); -- cgit