[cig-commits] r4830 - in long/3D/Gale/trunk/src/StGermain: .
Base/Container/src
walter at geodynamics.org
walter at geodynamics.org
Wed Oct 11 13:46:24 PDT 2006
Author: walter
Date: 2006-10-11 13:46:24 -0700 (Wed, 11 Oct 2006)
New Revision: 4830
Modified:
long/3D/Gale/trunk/src/StGermain/
long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.c
long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.h
Log:
r2887 at earth: boo | 2006-10-11 13:42:31 -0700
r2803 at earth (orig r3791): RaquibulHassan | 2006-09-11 00:58:48 -0700
* Changing a function prototype.
* Adding a validation check to MemoryPool_DeleteObject
Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
- 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2886
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3790
+ 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2887
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3791
Modified: long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.c 2006-10-11 20:46:21 UTC (rev 4829)
+++ long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.c 2006-10-11 20:46:24 UTC (rev 4830)
@@ -168,9 +168,18 @@
return (void*)(memPool->pool[--memPool->numElementsFree]);
}
-void MemoryPool_DeleteObject( MemoryPool *memPool, void *object )
+Bool MemoryPool_DeleteObject( MemoryPool *memPool, void *object )
{
- memset( (char*)object, 0, memPool->elementSize );
- memPool->pool[memPool->numElementsFree++] = (char*)object;
+ if( ( object != NULL ) &&
+ ((char*)object >= memPool->elements) &&
+ ( (char*)object < (memPool->elements + memPool->elementSize * memPool->numElements) ) ){
+
+ memset( (char*)object, 0, memPool->elementSize );
+ memPool->pool[memPool->numElementsFree++] = (char*)object;
+ return 1;
+ }
+ else{
+ return 0;
+ }
}
Modified: long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.h 2006-10-11 20:46:21 UTC (rev 4829)
+++ long/3D/Gale/trunk/src/StGermain/Base/Container/src/MemoryPool.h 2006-10-11 20:46:24 UTC (rev 4830)
@@ -96,7 +96,7 @@
void *MemoryPool_NewObjectFunc( SizeT elementSize, MemoryPool *memPool );
- void MemoryPool_DeleteObject( MemoryPool *memPool, void *object );
+ Bool MemoryPool_DeleteObject( MemoryPool *memPool, void *object );
/** Private Functions */
More information about the cig-commits
mailing list