]> git.sesse.net Git - vlc/commitdiff
directory: use block_heap_Alloc()
authorRémi Denis-Courmont <remi@remlab.net>
Sun, 14 Feb 2010 10:46:25 +0000 (12:46 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sun, 14 Feb 2010 10:46:42 +0000 (12:46 +0200)
modules/access/directory.c

index a5562cea4f4b78b1c0d974d9c067c03ecc8cebfd..aeb78b3d43bf292a15c6b7d56aa1d7434595735a 100644 (file)
@@ -244,14 +244,12 @@ block_t *DirBlock (access_t *p_access)
                 "%s" \
                 " </extension>\n" \
                 "</playlist>\n", p_sys->psz_xspf_extension );
-            if( len < 0 )
+            if (unlikely(len == -1))
                 goto fatal;
 
-            block_t *block = block_Alloc ( len );
-            if (!block)
-                goto fatal;
-            memcpy (block->p_buffer, footer, len);
-            free( footer );
+            block_t *block = block_heap_Alloc (footer, footer, len);
+            if (unlikely(block == NULL))
+                free (footer);
             p_access->info.b_eof = true;
             return block;
         }
@@ -393,15 +391,12 @@ block_t *DirBlock (access_t *p_access)
         goto fatal;
     free( old_xspf_extension );
 
-    /* TODO: new block allocator for malloc()ated data */
-    block_t *block = block_Alloc (len);
-    if (!block)
+    block_t *block = block_heap_Alloc (entry, entry, len);
+    if (unlikely(block == NULL))
     {
         free (entry);
         goto fatal;
     }
-    memcpy (block->p_buffer, entry, len);
-    free (entry);
     return block;
 
 fatal: