[Zope-Checkins] CVS: Zope2 - BucketTemplate.c:1.17
Matthew T. Kromer
matt@digicool.com
Wed, 20 Jun 2001 15:47:00 -0400 (EDT)
Update of /cvs-repository/Zope2/lib/python/BTrees
In directory korak.digicool.com:/tmp/cvs-serv28783
Modified Files:
BucketTemplate.c
Log Message:
Move error trap to inner function rather than outer
--- Updated File BucketTemplate.c in package Zope2 --
--- BucketTemplate.c 2001/06/20 19:32:55 1.16
+++ BucketTemplate.c 2001/06/20 19:47:00 1.17
@@ -1113,21 +1113,7 @@
Py_DECREF(b[1]);
Py_DECREF(b[2]);
- return r;
-}
-
-static PyObject *
-bucket__p_resolveConflict(Bucket *self, PyObject *args)
-{
- PyObject *s[3];
- PyObject *result;
-
- UNLESS(PyArg_ParseTuple(args, "OOO", &s[0], &s[1], &s[2])) return NULL;
-
- result = _bucket__p_resolveConflict(OBJECT(self->ob_type), s);
-
- /* Change any errors to ConflictErrors */
- if (result == NULL) {
+ if (r == NULL) {
PyObject *error;
PyObject *value;
PyObject *traceback;
@@ -1137,8 +1123,18 @@
Py_XDECREF(error);
PyErr_Restore(ConflictError, value, traceback);
}
+
+ return r;
+}
+
+static PyObject *
+bucket__p_resolveConflict(Bucket *self, PyObject *args)
+{
+ PyObject *s[3];
+
+ UNLESS(PyArg_ParseTuple(args, "OOO", &s[0], &s[1], &s[2])) return NULL;
- return result;
+ return _bucket__p_resolveConflict(OBJECT(self->ob_type), s);
}
#endif