@@ -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