Commit 4d7a0a05 authored by Fabrice Bellard's avatar Fabrice Bellard

better av_freep()

Originally committed as revision 541 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 51a49663
...@@ -57,14 +57,6 @@ typedef INT32 int32_t; ...@@ -57,14 +57,6 @@ typedef INT32 int32_t;
#define inline __inline #define inline __inline
/*
Disable warning messages:
warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
warning C4305: 'argument' : truncation from 'const double' to 'float'
*/
#pragma warning( disable : 4244 )
#pragma warning( disable : 4305 )
#else #else
#define INT64_C(c) (c ## LL) #define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL) #define UINT64_C(c) (c ## ULL)
...@@ -901,7 +893,8 @@ static inline int clip(int a, int amin, int amax) ...@@ -901,7 +893,8 @@ static inline int clip(int a, int amin, int amax)
void *av_malloc(int size); void *av_malloc(int size);
void *av_mallocz(int size); void *av_mallocz(int size);
void av_free(void *ptr); void av_free(void *ptr);
#define av_freep(p) do { av_free(*p); *p = NULL; } while (0) void __av_freep(void **ptr);
#define av_freep(p) __av_freep((void **)(p))
/* math */ /* math */
int ff_gcd(int a, int b); int ff_gcd(int a, int b);
......
...@@ -65,6 +65,13 @@ void av_free(void *ptr) ...@@ -65,6 +65,13 @@ void av_free(void *ptr)
free(ptr); free(ptr);
} }
/* cannot call it directly because of 'void **' casting is not automatic */
void __av_freep(void **ptr)
{
av_free(*ptr);
*ptr = NULL;
}
/* encoder management */ /* encoder management */
AVCodec *first_avcodec; AVCodec *first_avcodec;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment