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);