diff options
Diffstat (limited to 'libavutil/mem.c')
-rw-r--r-- | libavutil/mem.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/libavutil/mem.c b/libavutil/mem.c index 440328b7f1..33c249c421 100644 --- a/libavutil/mem.c +++ b/libavutil/mem.c @@ -135,3 +135,35 @@ void av_free(void *ptr) #endif } +/** + * Frees memory and sets the pointer to NULL. + * @param arg pointer to the pointer which should be freed + */ +void av_freep(void *arg) +{ + void **ptr= (void**)arg; + av_free(*ptr); + *ptr = NULL; +} + +void *av_mallocz(unsigned int size) +{ + void *ptr; + + ptr = av_malloc(size); + if (ptr) + memset(ptr, 0, size); + return ptr; +} + +char *av_strdup(const char *s) +{ + char *ptr; + int len; + len = strlen(s) + 1; + ptr = av_malloc(len); + if (ptr) + memcpy(ptr, s, len); + return ptr; +} + |