lib: Don't put static const variables in the header.
[L-SMASH.git] / common / alloc.c
blob183266068e460329323a75963b1086e9525261d8
1 /*****************************************************************************
2 * alloc.c
3 *****************************************************************************
4 * Copyright (C) 2011-2014 L-SMASH project
6 * Authors: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
8 * Permission to use, copy, modify, and/or distribute this software for any
9 * purpose with or without fee is hereby granted, provided that the above
10 * copyright notice and this permission notice appear in all copies.
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 *****************************************************************************/
21 /* This file is available under an ISC license. */
23 #include "internal.h" /* must be placed first */
25 #include <stdlib.h>
26 #include <string.h>
28 void *lsmash_malloc( size_t size )
30 return malloc( size );
33 void *lsmash_malloc_zero( size_t size )
35 if( !size )
36 return NULL;
37 void *p = malloc( size );
38 if( !p )
39 return NULL;
40 memset( p, 0, size );
41 return p;
44 void *lsmash_realloc( void *ptr, size_t size )
46 return realloc( ptr, size );
49 void *lsmash_memdup( const void *ptr, size_t size )
51 if( !ptr || size == 0 )
52 return NULL;
53 void *dst = malloc( size );
54 if( !dst )
55 return NULL;
56 memcpy( dst, ptr, size );
57 return dst;
60 void lsmash_free( void *ptr )
62 /* free() shall do nothing if a given address is NULL. */
63 free( ptr );
66 void lsmash_freep( void *ptrptr )
68 if( !ptrptr )
69 return;
70 void **ptr = (void **)ptrptr;
71 free( *ptr );
72 *ptr = NULL;