[FFmpeg-cvslog] r19742 - trunk/libavutil/internal.h

Michael Niedermayer michaelni
Sun Aug 30 02:48:49 CEST 2009


On Sat, Aug 29, 2009 at 11:44:29PM +0100, M?ns Rullg?rd wrote:
> 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.

if + else should always have a {} as it makes future patches simpler
and costs no line of code.
Besides this, i think using do/while for this is ugly.

I simply think the loss of readability trough do/while is a bigger issue
than the gain for a case that seems rather unlikely to me ...

Also to me, do/while is a loop and using it in macros like this feels
very ugly to me ...


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20090830/3c713184/attachment.pgp>



More information about the ffmpeg-cvslog mailing list