[Zodb-checkins] CVS: ZODB3/BTrees - BucketTemplate.c:1.47.12.3
check.py:1.1.2.6
Tim Peters
tim.one at comcast.net
Fri Jun 13 16:16:03 EDT 2003
Update of /cvs-repository/ZODB3/BTrees
In directory cvs.zope.org:/tmp/cvs-serv11723/BTrees
Modified Files:
Tag: ZODB3-3_1-branch
BucketTemplate.c check.py
Log Message:
Backporting minor fix from Zope 2.6 branch.
=== ZODB3/BTrees/BucketTemplate.c 1.47.12.2 => 1.47.12.3 ===
--- ZODB3/BTrees/BucketTemplate.c:1.47.12.2 Fri Apr 18 14:08:36 2003
+++ ZODB3/BTrees/BucketTemplate.c Fri Jun 13 15:16:02 2003
@@ -454,7 +454,7 @@
Mapping_update(PyObject *self, PyObject *args)
{
PyObject *seq=0, *o, *t, *v, *tb, *k, *items = NULL;
- int i, ind;
+ int i;
UNLESS(PyArg_ParseTuple(args, "|O:update", &seq)) return NULL;
@@ -490,16 +490,22 @@
Py_XDECREF(tb);
break;
}
- ind = PyArg_ParseTuple(o, "OO;items must be 2-item tuples", &k, &v);
- if (ind)
- ind = PyObject_SetItem(self, k, v);
- else
- ind = -1;
- Py_DECREF(o);
- if (ind < 0) {
- PyErr_SetString(PyExc_TypeError,"Sequence must contain 2-item tuples");
- goto err;
+
+ if (!PyTuple_Check(o) || PyTuple_GET_SIZE(o) != 2)
+ {
+ Py_DECREF(o);
+ PyErr_SetString(PyExc_TypeError,
+ "Sequence must contain 2-item tuples");
+ goto err;
}
+ k = PyTuple_GET_ITEM(o, 0);
+ v = PyTuple_GET_ITEM(o, 1);
+ if (PyObject_SetItem(self, k, v) < 0)
+ {
+ Py_DECREF(o);
+ goto err;
+ }
+ Py_DECREF(o);
}
Py_XDECREF(items);
=== ZODB3/BTrees/check.py 1.1.2.5 => 1.1.2.6 ===
--- ZODB3/BTrees/check.py:1.1.2.5 Thu Jun 12 16:37:43 2003
+++ ZODB3/BTrees/check.py Fri Jun 13 15:16:02 2003
@@ -34,16 +34,10 @@
from types import TupleType
-try:
- from zodb.btrees.OOBTree import OOBTree, OOBucket, OOSet, OOTreeSet
- from zodb.btrees.OIBTree import OIBTree, OIBucket, OISet, OITreeSet
- from zodb.btrees.IOBTree import IOBTree, IOBucket, IOSet, IOTreeSet
- from zodb.btrees.IIBTree import IIBTree, IIBucket, IISet, IITreeSet
-except ImportError:
- from BTrees.OOBTree import OOBTree, OOBucket, OOSet, OOTreeSet
- from BTrees.OIBTree import OIBTree, OIBucket, OISet, OITreeSet
- from BTrees.IOBTree import IOBTree, IOBucket, IOSet, IOTreeSet
- from BTrees.IIBTree import IIBTree, IIBucket, IISet, IITreeSet
+from BTrees.OOBTree import OOBTree, OOBucket, OOSet, OOTreeSet
+from BTrees.OIBTree import OIBTree, OIBucket, OISet, OITreeSet
+from BTrees.IOBTree import IOBTree, IOBucket, IOSet, IOTreeSet
+from BTrees.IIBTree import IIBTree, IIBucket, IISet, IITreeSet
TYPE_UNKNOWN, TYPE_BTREE, TYPE_BUCKET = range(3)
More information about the Zodb-checkins
mailing list