[Python-checkins] commit of r41611 - python/branches/ast-arena/Python/pyarena.c

neal.norwitz python-checkins at python.org
Mon Dec 5 08:35:01 CET 2005


Author: neal.norwitz
Date: Mon Dec  5 08:34:57 2005
New Revision: 41611

Modified:
   python/branches/ast-arena/Python/pyarena.c
Log:
Remove PyAPI_FUNC(), they are only needed in the header file.  check pointers are non-NULL from malloc()

Modified: python/branches/ast-arena/Python/pyarena.c
==============================================================================
--- python/branches/ast-arena/Python/pyarena.c	(original)
+++ python/branches/ast-arena/Python/pyarena.c	Mon Dec  5 08:34:57 2005
@@ -29,6 +29,9 @@
 PyArenaList_New(void) 
 {
   PyArenaList *alist = (PyArenaList *)malloc(sizeof(PyArenaList));
+  if (!alist)
+    return NULL;
+
   alist->al_next = NULL;
   alist->al_pointer = NULL;
   return alist;
@@ -45,8 +48,11 @@
 static void
 PyArenaList_FreeObject(PyArenaList *alist) 
 {
-  PyArenaList *prev;
+  if (!alist)
+    return;
+
   while (alist) {
+    PyArenaList *prev;
     Py_XDECREF((PyObject *)alist->al_pointer);
     alist->al_pointer = NULL;
     prev = alist;
@@ -58,8 +64,11 @@
 static void
 PyArenaList_FreeMalloc(PyArenaList *alist)
 {
-  PyArenaList *prev;
+  if (!alist)
+    return;
+
   while (alist) {
+    PyArenaList *prev;
     if (alist->al_pointer) {
       free(alist->al_pointer);
     }
@@ -71,10 +80,13 @@
 }
 
 
-PyAPI_FUNC(PyArena *)
+PyArena *
 PyArena_New()
 {
   PyArena* arena = (PyArena *)malloc(sizeof(PyArena));
+  if (!arena)
+    return NULL;
+
   arena->a_object_head = PyArenaList_New();
   arena->a_object_tail = arena->a_object_head;
   arena->a_malloc_head = PyArenaList_New();
@@ -82,7 +94,7 @@
   return arena;
 }
 
-PyAPI_FUNC(void)
+void
 PyArena_Free(PyArena *arena)
 {
   assert(arena);
@@ -91,7 +103,7 @@
   free(arena);
 }
 
-PyAPI_FUNC(void *)
+void *
 PyArena_Malloc(PyArena *arena, size_t size) 
 {
   /* A better implementation might actually use an arena.  The current
@@ -105,7 +117,7 @@
   return p;
 }
 
-PyAPI_FUNC(int)
+int
 PyArena_AddMallocPointer(PyArena *arena, void *pointer) 
 {
   assert(pointer);
@@ -117,7 +129,7 @@
   return 1;
 }
 
-PyAPI_FUNC(int)
+int
 PyArena_AddPyObject(PyArena *arena, PyObject *pointer) 
 {
   assert(pointer);


More information about the Python-checkins mailing list