Skip to content

Commit ddbf600

Browse files
committed
Use upstream socket implementation
1 parent 39e9044 commit ddbf600

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

ext/socket/socket.c

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ rsock_syserr_fail_host_port(int err, const char *mesg, VALUE host, VALUE port)
2323
{
2424
VALUE message;
2525

26-
message = rb_sprintf("%s for %+"PRIsVALUE" port % "PRIsVALUE"",
27-
mesg, host, port);
26+
port = rb_String(port);
27+
28+
message = rb_sprintf("%s for \"%s\" port %s",
29+
mesg, StringValueCStr(host), StringValueCStr(port));
2830

2931
rb_syserr_fail_str(err, message);
3032
}
@@ -41,7 +43,15 @@ rsock_syserr_fail_path(int err, const char *mesg, VALUE path)
4143
VALUE message;
4244

4345
if (RB_TYPE_P(path, T_STRING)) {
44-
message = rb_sprintf("%s for % "PRIsVALUE"", mesg, path);
46+
if (memchr(RSTRING_PTR(path), '\0', RSTRING_LEN(path))) {
47+
path = rb_str_inspect(path);
48+
message = rb_sprintf("%s for %s", mesg,
49+
StringValueCStr(path));
50+
}
51+
else {
52+
message = rb_sprintf("%s for \"%s\"", mesg,
53+
StringValueCStr(path));
54+
}
4555
rb_syserr_fail_str(err, message);
4656
}
4757
else {
@@ -77,7 +87,7 @@ rsock_syserr_fail_raddrinfo(int err, const char *mesg, VALUE rai)
7787
VALUE str, message;
7888

7989
str = rsock_addrinfo_inspect_sockaddr(rai);
80-
message = rb_sprintf("%s for %"PRIsVALUE"", mesg, str);
90+
message = rb_sprintf("%s for %s", mesg, StringValueCStr(str));
8191

8292
rb_syserr_fail_str(err, message);
8393
}

0 commit comments

Comments
 (0)