added _mesa_realloc()
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 8 Apr 2003 02:22:41 +0000 (02:22 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 8 Apr 2003 02:22:41 +0000 (02:22 +0000)
src/mesa/main/imports.c
src/mesa/main/imports.h

index 8474ed4abcf4b07ca1310b7b165d736013fafc06..a1c974ca7559a6a5d8a0ea7431f2f4c93580160f 100644 (file)
@@ -1,5 +1,3 @@
-/* $Id: imports.c,v 1.33 2003/03/04 16:33:53 brianp Exp $ */
-
 /*
  * Mesa 3-D graphics library
  * Version:  5.1
@@ -180,6 +178,19 @@ _mesa_align_free(void *ptr)
 }
 
 
+void *
+_mesa_realloc(void *oldBuffer, size_t oldSize, size_t newSize)
+{
+   const size_t copySize = (oldSize < newSize) ? oldSize : newSize;
+   void *newBuffer = _mesa_malloc(newSize);
+   if (newBuffer && copySize > 0)
+      _mesa_memcpy(newBuffer, oldBuffer, copySize);
+   if (oldBuffer)
+      _mesa_free(oldBuffer);
+   return newBuffer;
+}
+
+
 void *
 _mesa_memcpy(void *dest, const void *src, size_t n)
 {
index 51b19ba23e34f53f4e4d2331c18dd17a9d2f5329..5a42cfaf8b5e26c41e334f2069028cc7d9bc2f57 100644 (file)
@@ -1,5 +1,3 @@
-/* $Id: imports.h,v 1.20 2003/04/03 20:34:38 brianp Exp $ */
-
 /*
  * Mesa 3-D graphics library
  * Version:  5.1
@@ -579,6 +577,9 @@ _mesa_align_calloc( size_t bytes, unsigned long alignment );
 extern void
 _mesa_align_free( void *ptr );
 
+extern void *
+_mesa_realloc( void *oldBuffer, size_t oldSize, size_t newSize );
+
 extern void *
 _mesa_memcpy( void *dest, const void *src, size_t n );