You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-commits@quetz.apache.org by gr...@apache.org on 2003/12/11 04:41:31 UTC
cvs commit: httpd-python/src connobject.c filterobject.c hlistobject.c requestobject.c serverobject.c tableobject.c
grisha 2003/12/10 19:41:31
Modified: lib/python/mod_python publisher.py
src connobject.c filterobject.c hlistobject.c
requestobject.c serverobject.c tableobject.c
Log:
Replace PyMem_NEW with PyObject_New and free with PyObject_Del for
proper compatibility w/ Python 2.3 (does this break 2.2?).
Submitted by: Ron Reisor
Revision Changes Path
1.35 +7 -3 httpd-python/lib/python/mod_python/publisher.py
Index: publisher.py
===================================================================
RCS file: /home/cvs/httpd-python/lib/python/mod_python/publisher.py,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- publisher.py 4 Nov 2003 21:52:21 -0000 1.34
+++ publisher.py 11 Dec 2003 03:41:30 -0000 1.35
@@ -174,8 +174,12 @@
result = util.apply_fs_data(object, req.form, req=req)
- if result or req.bytes_sent > 0:
- result = str(result)
+ if result or req.bytes_sent > 0 or req.next:
+
+ if result is None:
+ result = ""
+ else:
+ result = str(result)
# unless content_type was manually set, we will attempt
# to guess it
1.17 +3 -5 httpd-python/src/connobject.c
Index: connobject.c
===================================================================
RCS file: /home/cvs/httpd-python/src/connobject.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- connobject.c 10 Sep 2003 02:11:22 -0000 1.16
+++ connobject.c 11 Dec 2003 03:41:30 -0000 1.17
@@ -80,18 +80,16 @@
{
connobject *result;
- result = PyMem_NEW(connobject, 1);
+ result = PyObject_New(connobject, &MpConn_Type);
if (! result)
return PyErr_NoMemory();
result->conn = c;
- result->ob_type = &MpConn_Type;
result->server = NULL;
result->base_server = NULL;
result->notes = MpTable_FromTable(c->notes);
result->hlo = NULL;
- _Py_NewReference(result);
return (PyObject *)result;
}
@@ -322,7 +320,7 @@
Py_XDECREF(self->base_server);
Py_XDECREF(self->notes);
Py_XDECREF(self->hlo);
- free(self);
+ PyObject_Del(self);
}
/**
1.26 +3 -5 httpd-python/src/filterobject.c
Index: filterobject.c
===================================================================
RCS file: /home/cvs/httpd-python/src/filterobject.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- filterobject.c 9 Oct 2003 03:18:45 -0000 1.25
+++ filterobject.c 11 Dec 2003 03:41:30 -0000 1.26
@@ -118,12 +118,11 @@
{
filterobject *result;
- result = PyMem_NEW(filterobject, 1);
+ result = PyObject_New(filterobject, &MpFilter_Type);
if (! result)
return PyErr_NoMemory();
result->f = f;
- result->ob_type = &MpFilter_Type;
result->is_input = is_input;
result->rc = APR_SUCCESS;
@@ -149,7 +148,6 @@
result->request_obj = NULL;
- _Py_NewReference(result);
apr_pool_cleanup_register(f->r->pool, (PyObject *)result, python_decref,
apr_pool_cleanup_null);
@@ -547,7 +545,7 @@
static void filter_dealloc(filterobject *self)
{
Py_XDECREF(self->request_obj);
- free(self);
+ PyObject_Del(self);
}
1.8 +4 -6 httpd-python/src/hlistobject.c
Index: hlistobject.c
===================================================================
RCS file: /home/cvs/httpd-python/src/hlistobject.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- hlistobject.c 8 Nov 2002 00:15:11 -0000 1.7
+++ hlistobject.c 11 Dec 2003 03:41:30 -0000 1.8
@@ -77,8 +77,7 @@
hlistobject *result;
apr_pool_t *p;
- result = PyMem_NEW(hlistobject, 1);
- result->ob_type = &MpHList_Type;
+ result = PyObject_New(hlistobject, &MpHList_Type);
if (! result)
PyErr_NoMemory();
@@ -88,7 +87,6 @@
result->pool = p;
result->head = hlist_copy(p, hle);
- _Py_NewReference(result);
return (PyObject *) result;
}
@@ -144,7 +142,7 @@
{
if (self->pool)
apr_pool_destroy(self->pool);
- free(self);
+ PyObject_Del(self);
}
/**
@@ -205,7 +203,7 @@
PyObject_HEAD_INIT(NULL)
0,
"mp_hlist",
- sizeof(hl_entry),
+ sizeof(hlistobject),
0,
(destructor) hlist_dealloc, /*tp_dealloc*/
0, /*tp_print*/
1.55 +3 -6 httpd-python/src/requestobject.c
Index: requestobject.c
===================================================================
RCS file: /home/cvs/httpd-python/src/requestobject.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- requestobject.c 4 Nov 2003 20:30:39 -0000 1.54
+++ requestobject.c 11 Dec 2003 03:41:30 -0000 1.55
@@ -75,7 +75,7 @@
{
requestobject *result;
- result = PyMem_NEW(requestobject, 1);
+ result = PyObject_New(requestobject, &MpRequest_Type);
if (! result)
return PyErr_NoMemory();
@@ -83,7 +83,6 @@
if (!result->dict)
return PyErr_NoMemory();
result->request_rec = req;
- result->ob_type = &MpRequest_Type;
result->connection = NULL;
result->server = NULL;
result->next = NULL;
@@ -103,8 +102,6 @@
result->rbuff_pos = 0;
result->rbuff_len = 0;
- _Py_NewReference(result);
-
return (PyObject *) result;
}
@@ -1373,7 +1370,7 @@
Py_XDECREF(self->phase);
Py_XDECREF(self->hlo);
- free(self);
+ PyObject_Del(self);
}
static char request_doc[] =
1.21 +3 -5 httpd-python/src/serverobject.c
Index: serverobject.c
===================================================================
RCS file: /home/cvs/httpd-python/src/serverobject.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- serverobject.c 23 Oct 2003 13:43:36 -0000 1.20
+++ serverobject.c 11 Dec 2003 03:41:30 -0000 1.21
@@ -76,7 +76,7 @@
{
serverobject *result;
- result = PyMem_NEW(serverobject, 1);
+ result = PyObject_New(serverobject, &MpServer_Type);
if (! result)
return PyErr_NoMemory();
@@ -85,10 +85,8 @@
return PyErr_NoMemory();
result->server = s;
- result->ob_type = &MpServer_Type;
result->next = NULL;
- _Py_NewReference(result);
return (PyObject *)result;
}
@@ -326,7 +324,7 @@
{
Py_XDECREF(self->dict);
Py_XDECREF(self->next);
- free(self);
+ PyObject_Del(self);
}
static char server_doc[] =
1.29 +3 -5 httpd-python/src/tableobject.c
Index: tableobject.c
===================================================================
RCS file: /home/cvs/httpd-python/src/tableobject.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- tableobject.c 14 Jul 2003 20:51:32 -0000 1.28
+++ tableobject.c 11 Dec 2003 03:41:30 -0000 1.29
@@ -88,15 +88,13 @@
{
tableobject *result;
- result = PyMem_NEW(tableobject, 1);
+ result = PyObject_New(tableobject, &MpTable_Type);
if (! result)
return PyErr_NoMemory();
result->table = t;
- result->ob_type = &MpTable_Type;
result->pool = NULL;
- _Py_NewReference(result);
return (PyObject *)result;
}
@@ -144,7 +142,7 @@
if (MpTable_Check(self)) {
if (self->pool)
apr_pool_destroy(self->pool);
- free(self);
+ PyObject_Del(self);
}
else
self->ob_type->tp_free((PyObject *)self);