Index: trunk/psLib/src/sys/psMemory.c
===================================================================
--- trunk/psLib/src/sys/psMemory.c	(revision 21346)
+++ trunk/psLib/src/sys/psMemory.c	(revision 23305)
@@ -1069,2 +1069,17 @@
                    memBlock->func, memBlock->file, memBlock->lineno, (unsigned long)memBlock->tid);
 }
+
+bool psMemTypeEqual (void *ptr1, void *ptr2) {
+
+    // if ptr is a psAlloc()'d memory, find the actual address of the memBlock
+    psMemBlock *memBlock1 = ((psMemBlock *)ptr1) - 1;
+    HANDLE_BAD_BLOCK(memBlock1, __FILE__, __LINE__, __func__);
+    if (!memBlock1->freeFunc) return false;
+
+    // if ptr is a psAlloc()'d memory, find the actual address of the memBlock
+    psMemBlock *memBlock2 = ((psMemBlock *)ptr2) - 1;
+    HANDLE_BAD_BLOCK(memBlock2, __FILE__, __LINE__, __func__);
+    if (!memBlock2->freeFunc) return false;
+
+    return (memBlock1->freeFunc == memBlock2->freeFunc);
+}
