changeset 1854:73ee15c391bf libavcodec

macrofree av_freep()
author michael
date Wed, 03 Mar 2004 01:57:43 +0000
parents 9de89f579086
children bafde44145f9
files avcodec.h utils.c
diffstat 2 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/avcodec.h	Tue Mar 02 18:39:25 2004 +0000
+++ b/avcodec.h	Wed Mar 03 01:57:43 2004 +0000
@@ -2073,8 +2073,7 @@
 void *av_realloc(void *ptr, unsigned int size);
 void av_free(void *ptr);
 char *av_strdup(const char *s);
-void __av_freep(void **ptr);
-#define av_freep(p) __av_freep((void **)(p))
+void av_freep(void *ptr);
 void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size);
 /* for static data only */
 /* call av_free_static to release all staticaly allocated tables */
--- a/utils.c	Tue Mar 02 18:39:25 2004 +0000
+++ b/utils.c	Wed Mar 03 01:57:43 2004 +0000
@@ -103,9 +103,13 @@
     last_static = 0;
 }
 
-/* cannot call it directly because of 'void **' casting is not automatic */
-void __av_freep(void **ptr)
+/**
+ * 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;
 }