]> git.sesse.net Git - vlc/commitdiff
block_Realloc: shortcut the release case
authorRémi Denis-Courmont <rem@videolan.org>
Fri, 30 May 2008 16:07:06 +0000 (19:07 +0300)
committerRémi Denis-Courmont <rem@videolan.org>
Fri, 30 May 2008 16:07:12 +0000 (19:07 +0300)
src/misc/block.c

index 2bd84b0241da938add42e5cc2fff40acbb0d440c..a350db5ec2c12244980fd9f1df04ab8c3e02073c 100644 (file)
@@ -106,7 +106,13 @@ block_t *block_Alloc( size_t i_size )
 block_t *block_Realloc( block_t *p_block, ssize_t i_prebody, size_t i_body )
 {
     block_sys_t *p_sys = (block_sys_t *)p_block;
-    ssize_t i_buffer_size;
+    ssize_t i_buffer_size = i_prebody + i_body;
+
+    if( i_buffer_size <= 0 )
+    {
+        block_Release( p_block );
+        return NULL;
+    }
 
     if( p_block->pf_release != BlockRelease )
     {
@@ -120,14 +126,6 @@ block_t *block_Realloc( block_t *p_block, ssize_t i_prebody, size_t i_body )
         p_block = p_dup;
     }
 
-    i_buffer_size = i_prebody + i_body;
-
-    if( i_buffer_size <= 0 )
-    {
-        block_Release( p_block );
-        return NULL;
-    }
-
     /* Adjust reserved header if there is enough room */
     if( p_block->p_buffer - i_prebody > p_sys->p_allocated_buffer &&
         p_block->p_buffer - i_prebody < p_sys->p_allocated_buffer +