@@ -967,7 +967,7 @@ makeipaddr(struct sockaddr *addr, int addrlen)
967
967
set_gaierror (error );
968
968
return NULL ;
969
969
}
970
- return PyString_FromString (buf );
970
+ return PyUnicode_FromString (buf );
971
971
}
972
972
973
973
@@ -1011,7 +1011,7 @@ makebdaddr(bdaddr_t *bdaddr)
1011
1011
sprintf (buf , "%02X:%02X:%02X:%02X:%02X:%02X" ,
1012
1012
bdaddr -> b [5 ], bdaddr -> b [4 ], bdaddr -> b [3 ],
1013
1013
bdaddr -> b [2 ], bdaddr -> b [1 ], bdaddr -> b [0 ]);
1014
- return PyString_FromString (buf );
1014
+ return PyUnicode_FromString (buf );
1015
1015
}
1016
1016
#endif
1017
1017
@@ -1058,14 +1058,13 @@ makesockaddr(int sockfd, struct sockaddr *addr, int addrlen, int proto)
1058
1058
#ifdef linux
1059
1059
if (a -> sun_path [0 ] == 0 ) { /* Linux abstract namespace */
1060
1060
addrlen -= (sizeof (* a ) - sizeof (a -> sun_path ));
1061
- return PyString_FromStringAndSize (a -> sun_path ,
1062
- addrlen );
1061
+ return PyBytes_FromStringAndSize (a -> sun_path , addrlen );
1063
1062
}
1064
1063
else
1065
1064
#endif /* linux */
1066
1065
{
1067
1066
/* regular NULL-terminated string */
1068
- return PyString_FromString (a -> sun_path );
1067
+ return PyUnicode_FromString (a -> sun_path );
1069
1068
}
1070
1069
}
1071
1070
#endif /* AF_UNIX */
@@ -1160,7 +1159,7 @@ makesockaddr(int sockfd, struct sockaddr *addr, int addrlen, int proto)
1160
1159
if (ioctl (sockfd , SIOCGIFNAME , & ifr ) == 0 )
1161
1160
ifname = ifr .ifr_name ;
1162
1161
}
1163
- return Py_BuildValue ("shbhs #" ,
1162
+ return Py_BuildValue ("shbhy #" ,
1164
1163
ifname ,
1165
1164
ntohs (a -> sll_protocol ),
1166
1165
a -> sll_pkttype ,
@@ -1385,12 +1384,12 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
1385
1384
1386
1385
addr = (struct sockaddr_sco * )addr_ret ;
1387
1386
_BT_SCO_MEMB (addr , family ) = AF_BLUETOOTH ;
1388
- straddr = PyString_AsString (args );
1389
- if (straddr == NULL ) {
1387
+ if (!PyBytes_Check (args )) {
1390
1388
PyErr_SetString (socket_error , "getsockaddrarg: "
1391
1389
"wrong format" );
1392
1390
return 0 ;
1393
1391
}
1392
+ straddr = PyBytes_AS_STRING (args );
1394
1393
if (setbdaddr (straddr , & _BT_SCO_MEMB (addr , bdaddr )) < 0 )
1395
1394
return 0 ;
1396
1395
@@ -2920,7 +2919,7 @@ socket_gethostname(PyObject *self, PyObject *unused)
2920
2919
if (res < 0 )
2921
2920
return set_error ();
2922
2921
buf [sizeof buf - 1 ] = '\0' ;
2923
- return PyString_FromString (buf );
2922
+ return PyUnicode_FromString (buf );
2924
2923
}
2925
2924
2926
2925
PyDoc_STRVAR (gethostname_doc ,
@@ -3011,7 +3010,7 @@ gethost_common(struct hostent *h, struct sockaddr *addr, int alen, int af)
3011
3010
if (h -> h_aliases ) {
3012
3011
for (pch = h -> h_aliases ; * pch != NULL ; pch ++ ) {
3013
3012
int status ;
3014
- tmp = PyString_FromString (* pch );
3013
+ tmp = PyUnicode_FromString (* pch );
3015
3014
if (tmp == NULL )
3016
3015
goto err ;
3017
3016
@@ -3300,7 +3299,7 @@ socket_getservbyport(PyObject *self, PyObject *args)
3300
3299
PyErr_SetString (socket_error , "port/proto not found" );
3301
3300
return NULL ;
3302
3301
}
3303
- return PyString_FromString (sp -> s_name );
3302
+ return PyUnicode_FromString (sp -> s_name );
3304
3303
}
3305
3304
3306
3305
PyDoc_STRVAR (getservbyport_doc ,
@@ -3600,7 +3599,7 @@ socket_inet_ntoa(PyObject *self, PyObject *args)
3600
3599
int addr_len ;
3601
3600
struct in_addr packed_addr ;
3602
3601
3603
- if (!PyArg_ParseTuple (args , "s #:inet_ntoa" , & packed_str , & addr_len )) {
3602
+ if (!PyArg_ParseTuple (args , "y #:inet_ntoa" , & packed_str , & addr_len )) {
3604
3603
return NULL ;
3605
3604
}
3606
3605
@@ -3612,7 +3611,7 @@ socket_inet_ntoa(PyObject *self, PyObject *args)
3612
3611
3613
3612
memcpy (& packed_addr , packed_str , addr_len );
3614
3613
3615
- return PyString_FromString (inet_ntoa (packed_addr ));
3614
+ return PyUnicode_FromString (inet_ntoa (packed_addr ));
3616
3615
}
3617
3616
3618
3617
#ifdef HAVE_INET_PTON
@@ -3655,11 +3654,11 @@ socket_inet_pton(PyObject *self, PyObject *args)
3655
3654
"illegal IP address string passed to inet_pton" );
3656
3655
return NULL ;
3657
3656
} else if (af == AF_INET ) {
3658
- return PyString_FromStringAndSize (packed ,
3657
+ return PyBytes_FromStringAndSize (packed ,
3659
3658
sizeof (struct in_addr ));
3660
3659
#ifdef ENABLE_IPV6
3661
3660
} else if (af == AF_INET6 ) {
3662
- return PyString_FromStringAndSize (packed ,
3661
+ return PyBytes_FromStringAndSize (packed ,
3663
3662
sizeof (struct in6_addr ));
3664
3663
#endif
3665
3664
} else {
@@ -3686,10 +3685,10 @@ socket_inet_ntop(PyObject *self, PyObject *args)
3686
3685
char ip [INET_ADDRSTRLEN + 1 ];
3687
3686
#endif
3688
3687
3689
- /* Guarantee NUL-termination for PyString_FromString () below */
3688
+ /* Guarantee NUL-termination for PyUnicode_FromString () below */
3690
3689
memset ((void * ) & ip [0 ], '\0' , sizeof (ip ));
3691
3690
3692
- if (!PyArg_ParseTuple (args , "is #:inet_ntop" , & af , & packed , & len )) {
3691
+ if (!PyArg_ParseTuple (args , "iy #:inet_ntop" , & af , & packed , & len )) {
3693
3692
return NULL ;
3694
3693
}
3695
3694
@@ -3718,7 +3717,7 @@ socket_inet_ntop(PyObject *self, PyObject *args)
3718
3717
PyErr_SetFromErrno (socket_error );
3719
3718
return NULL ;
3720
3719
} else {
3721
- return PyString_FromString (retval );
3720
+ return PyUnicode_FromString (retval );
3722
3721
}
3723
3722
3724
3723
/* NOTREACHED */
@@ -3770,6 +3769,8 @@ socket_getaddrinfo(PyObject *self, PyObject *args)
3770
3769
if (PyInt_CheckExact (pobj )) {
3771
3770
PyOS_snprintf (pbuf , sizeof (pbuf ), "%ld" , PyInt_AsLong (pobj ));
3772
3771
pptr = pbuf ;
3772
+ } else if (PyUnicode_Check (pobj )) {
3773
+ pptr = PyUnicode_AsString (pobj );
3773
3774
} else if (PyString_Check (pobj )) {
3774
3775
pptr = PyString_AsString (pobj );
3775
3776
} else if (pobj == Py_None ) {
0 commit comments