revert aligned realloc() changesm this should be identical to r5784

Originally committed as revision 6008 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2006-08-17 08:18:48 +00:00
parent 2287c100b2
commit 0a7c36af54
1 changed files with 11 additions and 15 deletions

View File

@ -50,7 +50,7 @@ void *av_malloc(unsigned int size)
#endif
/* let's disallow possible ambiguous cases */
if(size > (INT_MAX-16) || !size)
if(size > (INT_MAX-16) )
return NULL;
#ifdef MEMALIGN_HACK
@ -101,26 +101,22 @@ void *av_malloc(unsigned int size)
*/
void *av_realloc(void *ptr, unsigned int size)
{
void *ptr2;
#ifdef MEMALIGN_HACK
int diff;
#endif
/* let's disallow possible ambiguous cases */
if(size > (INT_MAX-16) )
return NULL;
#ifndef MEMALIGN_HACK
ptr= realloc(ptr, size);
assert(((int)((void*)0)&15) == 0); //for the null pointer pedants
if(!((int)ptr&15))
return ptr;
#ifdef MEMALIGN_HACK
//FIXME this isn't aligned correctly, though it probably isn't needed
if(!ptr) return av_malloc(size);
diff= ((char*)ptr)[-1];
return realloc(ptr - diff, size + diff) + diff;
#else
return realloc(ptr, size);
#endif
ptr2= av_malloc(size);
if(ptr && ptr2)
memcpy(ptr2, ptr, size);
if(ptr2 || !size)
av_free(ptr);
return ptr2;
}
/**