]> granicus.if.org Git - python/commitdiff
fixes deferred/release blocker issue #3797: Fixed the dbm, marshal, mmap,
authorGregory P. Smith <greg@mad-scientist.com>
Sat, 6 Sep 2008 21:34:51 +0000 (21:34 +0000)
committerGregory P. Smith <greg@mad-scientist.com>
Sat, 6 Sep 2008 21:34:51 +0000 (21:34 +0000)
ossaudiodev, & winreg modules to return bytes objects instead of bytearray
objects.

Misc/NEWS
Modules/_dbmmodule.c
Modules/mmapmodule.c
Modules/ossaudiodev.c
PC/winreg.c
Python/marshal.c

index a914ebe14de9d56edad2cecddeae1ca82c0094de..ef860a4cc602a638cd332657506d75b1e01e10a4 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -144,6 +144,9 @@ Extension Modules
 - Issue #3492 and #3790: Fixed the zlib module and zipimport module uses of
   mutable bytearray objects where they should have been using immutable bytes.
 
+- Issue #3797: Fixed the dbm, marshal, mmap, ossaudiodev, & winreg modules to
+  return bytes objects instead of bytearray objects.
+
 
 Tools/Demos
 -----------
index 78eba3648f0361a01de10fe8937c11b694e521e7..d43acdc5e9e185bbac5b21f617f47f783d634bb8 100644 (file)
@@ -111,7 +111,7 @@ dbm_subscript(dbmobject *dp, register PyObject *key)
                PyErr_SetString(DbmError, "");
                return NULL;
        }
-       return PyByteArray_FromStringAndSize(drec.dptr, drec.dsize);
+       return PyBytes_FromStringAndSize(drec.dptr, drec.dsize);
 }
 
 static int
@@ -188,7 +188,7 @@ dbm_keys(register dbmobject *dp, PyObject *unused)
                return NULL;
        for (key = dbm_firstkey(dp->di_dbm); key.dptr;
             key = dbm_nextkey(dp->di_dbm)) {
-               item = PyByteArray_FromStringAndSize(key.dptr, key.dsize);
+               item = PyBytes_FromStringAndSize(key.dptr, key.dsize);
                if (item == NULL) {
                        Py_DECREF(v);
                        return NULL;
@@ -260,7 +260,7 @@ dbm_get(register dbmobject *dp, PyObject *args)
         check_dbmobject_open(dp);
        val = dbm_fetch(dp->di_dbm, key);
        if (val.dptr != NULL)
-               return PyByteArray_FromStringAndSize(val.dptr, val.dsize);
+               return PyBytes_FromStringAndSize(val.dptr, val.dsize);
        else {
                Py_INCREF(defvalue);
                return defvalue;
@@ -283,9 +283,9 @@ dbm_setdefault(register dbmobject *dp, PyObject *args)
         check_dbmobject_open(dp);
        val = dbm_fetch(dp->di_dbm, key);
        if (val.dptr != NULL)
-               return PyByteArray_FromStringAndSize(val.dptr, val.dsize);
+               return PyBytes_FromStringAndSize(val.dptr, val.dsize);
        if (defvalue == NULL) {
-               defvalue = PyByteArray_FromStringAndSize(NULL, 0);
+               defvalue = PyBytes_FromStringAndSize(NULL, 0);
                if (defvalue == NULL)
                        return NULL;
                val.dptr = NULL;
index 9adef9bebb283bbfbd19f02526fe83d6e5d13a79..6a2ebfd45da7549054d4449eda448368e0f0f810 100644 (file)
@@ -228,7 +228,7 @@ mmap_read_line_method(mmap_object *self,
        else
                ++eol;          /* we're interested in the position after the
                                   newline. */
-       result = PyByteArray_FromStringAndSize(start, (eol - start));
+       result = PyBytes_FromStringAndSize(start, (eol - start));
        self->pos += (eol - start);
        return result;
 }
@@ -248,7 +248,7 @@ mmap_read_method(mmap_object *self,
        if (num_bytes > self->size - self->pos) {
                num_bytes -= (self->pos+num_bytes) - self->size;
        }
-       result = PyByteArray_FromStringAndSize(self->data+self->pos, num_bytes);
+       result = PyBytes_FromStringAndSize(self->data+self->pos, num_bytes);
        self->pos += num_bytes;
        return result;
 }
@@ -679,7 +679,7 @@ mmap_item(mmap_object *self, Py_ssize_t i)
                PyErr_SetString(PyExc_IndexError, "mmap index out of range");
                return NULL;
        }
-       return PyByteArray_FromStringAndSize(self->data + i, 1);
+       return PyBytes_FromStringAndSize(self->data + i, 1);
 }
 
 static PyObject *
@@ -769,14 +769,14 @@ mmap_ass_item(mmap_object *self, Py_ssize_t i, PyObject *v)
                                "mmap object doesn't support item deletion");
                return -1;
        }
-       if (! (PyByteArray_Check(v) && PyByteArray_Size(v)==1) ) {
+       if (! (PyBytes_Check(v) && PyBytes_Size(v)==1) ) {
                PyErr_SetString(PyExc_IndexError,
                                "mmap assignment must be length-1 bytes()");
                return -1;
        }
        if (!is_writable(self))
                return -1;
-       buf = PyByteArray_AsString(v);
+       buf = PyBytes_AsString(v);
        self->data[i] = buf[0];
        return 0;
 }
index 5828c3f56d11444079b55e51d9d6420665d627fc..677f9ac0c799b6a9ec627afb92586dd7991f1394 100644 (file)
@@ -366,10 +366,10 @@ oss_read(oss_audio_t *self, PyObject *args)
 
     if (!PyArg_ParseTuple(args, "i:read", &size))
         return NULL;
-    rv = PyByteArray_FromStringAndSize(NULL, size);
+    rv = PyBytes_FromStringAndSize(NULL, size);
     if (rv == NULL)
         return NULL;
-    cp = PyByteArray_AS_STRING(rv);
+    cp = PyBytes_AS_STRING(rv);
 
     Py_BEGIN_ALLOW_THREADS
     count = read(self->fd, cp, size);
@@ -381,7 +381,7 @@ oss_read(oss_audio_t *self, PyObject *args)
         return NULL;
     }
     self->icount += count;
-    PyByteArray_Resize(rv, count);
+    _PyBytes_Resize(&rv, count);
     return rv;
 }
 
index 1536e1735f4ab8d01b62ed88b7d230e25fd976ba..7d1d8164e8f4c2c70bfd40108e7c036800c98e79 100644 (file)
@@ -896,7 +896,7 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ)
                                obData = Py_None;
                        }
                        else
-                               obData = PyByteArray_FromStringAndSize(
+                               obData = PyBytes_FromStringAndSize(
                                             (char *)retDataBuf, retDataSize);
                        break;
        }
index d3f2d7f48f19c6ea2c6c20820c16c21b2d28858f..e7981b8eb902bee8c661740a6df6caa4a7aa40ce 100644 (file)
@@ -1093,7 +1093,7 @@ PyMarshal_WriteObjectToString(PyObject *x, int version)
        }
        if (wf.str != NULL) {
                /* XXX Quick hack -- need to do this differently */
-               res = PyByteArray_FromObject(wf.str);
+               res = PyBytes_FromObject(wf.str);
                Py_DECREF(wf.str);
        }
        return res;
@@ -1134,9 +1134,9 @@ marshal_load(PyObject *self, PyObject *f)
                rf.ptr = PyBytes_AS_STRING(data);
                rf.end = rf.ptr + PyBytes_GET_SIZE(data);
        }
-       else if (PyByteArray_Check(data)) {
-               rf.ptr = PyByteArray_AS_STRING(data);
-               rf.end = rf.ptr + PyByteArray_GET_SIZE(data);
+       else if (PyBytes_Check(data)) {
+               rf.ptr = PyBytes_AS_STRING(data);
+               rf.end = rf.ptr + PyBytes_GET_SIZE(data);
        }
        else {
                PyErr_Format(PyExc_TypeError,