Author: guido.van.rossum
Date: Wed Aug 15 05:56:40 2007
New Revision: 57045

Modified:
   python/branches/py3k/Lib/test/test_socket.py
   python/branches/py3k/Modules/socketmodule.c
Log:
Down with str8!
Change various socket APIs to use bytes or str instead str8.


Modified: python/branches/py3k/Lib/test/test_socket.py
==============================================================================
--- python/branches/py3k/Lib/test/test_socket.py        (original)
+++ python/branches/py3k/Lib/test/test_socket.py        Wed Aug 15 05:56:40 2007
@@ -1043,7 +1043,7 @@
     UNIX_PATH_MAX = 108
 
     def testLinuxAbstractNamespace(self):
-        address = "\x00python-test-hello\x00\xff"
+        address = b"\x00python-test-hello\x00\xff"
         s1 = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         s1.bind(address)
         s1.listen(1)
@@ -1054,7 +1054,7 @@
         self.assertEqual(s2.getpeername(), address)
 
     def testMaxName(self):
-        address = "\x00" + "h" * (self.UNIX_PATH_MAX - 1)
+        address = b"\x00" + b"h" * (self.UNIX_PATH_MAX - 1)
         s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         s.bind(address)
         self.assertEqual(s.getsockname(), address)

Modified: python/branches/py3k/Modules/socketmodule.c
==============================================================================
--- python/branches/py3k/Modules/socketmodule.c (original)
+++ python/branches/py3k/Modules/socketmodule.c Wed Aug 15 05:56:40 2007
@@ -967,7 +967,7 @@
                set_gaierror(error);
                return NULL;
        }
-       return PyString_FromString(buf);
+       return PyUnicode_FromString(buf);
 }
 
 
@@ -1011,7 +1011,7 @@
        sprintf(buf, "%02X:%02X:%02X:%02X:%02X:%02X",
                bdaddr->b[5], bdaddr->b[4], bdaddr->b[3],
                bdaddr->b[2], bdaddr->b[1], bdaddr->b[0]);
-       return PyString_FromString(buf);
+       return PyUnicode_FromString(buf);
 }
 #endif
 
@@ -1058,14 +1058,13 @@
 #ifdef linux
                if (a->sun_path[0] == 0) {  /* Linux abstract namespace */
                        addrlen -= (sizeof(*a) - sizeof(a->sun_path));
-                       return PyString_FromStringAndSize(a->sun_path,
-                                                         addrlen);
+                       return PyBytes_FromStringAndSize(a->sun_path, addrlen);
                }
                else
 #endif /* linux */
                {
                        /* regular NULL-terminated string */
-                       return PyString_FromString(a->sun_path);
+                       return PyUnicode_FromString(a->sun_path);
                }
        }
 #endif /* AF_UNIX */
@@ -1160,7 +1159,7 @@
                        if (ioctl(sockfd, SIOCGIFNAME, &ifr) == 0)
                                ifname = ifr.ifr_name;
                }
-               return Py_BuildValue("shbhs#",
+               return Py_BuildValue("shbhy#",
                                     ifname,
                                     ntohs(a->sll_protocol),
                                     a->sll_pkttype,
@@ -1385,12 +1384,12 @@
 
                        addr = (struct sockaddr_sco *)addr_ret;
                        _BT_SCO_MEMB(addr, family) = AF_BLUETOOTH;
-                       straddr = PyString_AsString(args);
-                       if (straddr == NULL) {
+                       if (!PyBytes_Check(args)) {
                                PyErr_SetString(socket_error, "getsockaddrarg: "
                                                "wrong format");
                                return 0;
                        }
+                       straddr = PyBytes_AS_STRING(args);
                        if (setbdaddr(straddr, &_BT_SCO_MEMB(addr, bdaddr)) < 0)
                                return 0;
 
@@ -2920,7 +2919,7 @@
        if (res < 0)
                return set_error();
        buf[sizeof buf - 1] = '\0';
-       return PyString_FromString(buf);
+       return PyUnicode_FromString(buf);
 }
 
 PyDoc_STRVAR(gethostname_doc,
@@ -3011,7 +3010,7 @@
        if (h->h_aliases) {
                for (pch = h->h_aliases; *pch != NULL; pch++) {
                        int status;
-                       tmp = PyString_FromString(*pch);
+                       tmp = PyUnicode_FromString(*pch);
                        if (tmp == NULL)
                                goto err;
 
@@ -3300,7 +3299,7 @@
                PyErr_SetString(socket_error, "port/proto not found");
                return NULL;
        }
-       return PyString_FromString(sp->s_name);
+       return PyUnicode_FromString(sp->s_name);
 }
 
 PyDoc_STRVAR(getservbyport_doc,
@@ -3600,7 +3599,7 @@
        int addr_len;
        struct in_addr packed_addr;
 
-       if (!PyArg_ParseTuple(args, "s#:inet_ntoa", &packed_str, &addr_len)) {
+       if (!PyArg_ParseTuple(args, "y#:inet_ntoa", &packed_str, &addr_len)) {
                return NULL;
        }
 
@@ -3612,7 +3611,7 @@
 
        memcpy(&packed_addr, packed_str, addr_len);
 
-       return PyString_FromString(inet_ntoa(packed_addr));
+       return PyUnicode_FromString(inet_ntoa(packed_addr));
 }
 
 #ifdef HAVE_INET_PTON
@@ -3655,11 +3654,11 @@
                        "illegal IP address string passed to inet_pton");
                return NULL;
        } else if (af == AF_INET) {
-               return PyString_FromStringAndSize(packed,
+               return PyBytes_FromStringAndSize(packed,
                        sizeof(struct in_addr));
 #ifdef ENABLE_IPV6
        } else if (af == AF_INET6) {
-               return PyString_FromStringAndSize(packed,
+               return PyBytes_FromStringAndSize(packed,
                        sizeof(struct in6_addr));
 #endif
        } else {
@@ -3686,10 +3685,10 @@
        char ip[INET_ADDRSTRLEN + 1];
 #endif
 
-       /* Guarantee NUL-termination for PyString_FromString() below */
+       /* Guarantee NUL-termination for PyUnicode_FromString() below */
        memset((void *) &ip[0], '\0', sizeof(ip));
 
-       if (!PyArg_ParseTuple(args, "is#:inet_ntop", &af, &packed, &len)) {
+       if (!PyArg_ParseTuple(args, "iy#:inet_ntop", &af, &packed, &len)) {
                return NULL;
        }
 
@@ -3718,7 +3717,7 @@
                PyErr_SetFromErrno(socket_error);
                return NULL;
        } else {
-               return PyString_FromString(retval);
+               return PyUnicode_FromString(retval);
        }
 
        /* NOTREACHED */
@@ -3770,6 +3769,8 @@
        if (PyInt_CheckExact(pobj)) {
                PyOS_snprintf(pbuf, sizeof(pbuf), "%ld", PyInt_AsLong(pobj));
                pptr = pbuf;
+       } else if (PyUnicode_Check(pobj)) {
+               pptr = PyUnicode_AsString(pobj);
        } else if (PyString_Check(pobj)) {
                pptr = PyString_AsString(pobj);
        } else if (pobj == Py_None) {
_______________________________________________
Python-3000-checkins mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000-checkins

Reply via email to