[FFmpeg-cvslog] r19742 - trunk/libavutil/internal.h
Måns Rullgård
mans
Sun Aug 30 00:44:29 CEST 2009
ramiro <subversion at mplayerhq.hu> writes:
> Author: ramiro
> Date: Sun Aug 30 00:38:48 2009
> New Revision: 19742
>
> Log:
> Add CHECKED_ALLOC macro.
> It works the same as CHECKED_ALLOCZ except that it does not zero the allocated
> memory.
>
> Modified:
> trunk/libavutil/internal.h
>
> Modified: trunk/libavutil/internal.h
> ==============================================================================
> --- trunk/libavutil/internal.h Sat Aug 29 23:04:18 2009 (r19741)
> +++ trunk/libavutil/internal.h Sun Aug 30 00:38:48 2009 (r19742)
> @@ -249,6 +249,15 @@ if((y)<(x)){\
> #define perror please_use_av_log_instead_of_perror
> #endif
>
> +#define CHECKED_ALLOC(p, size)\
> +{\
> + p= av_malloc(size);\
> + if(p==NULL && (size)!=0){\
> + av_log(NULL, AV_LOG_ERROR, "Cannot allocate memory.");\
> + goto fail;\
> + }\
> +}
Looks like I missed some discussions... This should be wrapped in
do { } while(0) so if (foo) CHECKED_ALLOC(); else blah; can work. It
would also be nice if the label to goto were an argument. As it is,
you can only have one target per function that uses the macro.
Finally, it could do with some beautifying, but that's secondary.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-cvslog
mailing list