James Almer: > Old GCC and Clang apparently don't like it. > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > Untested since i don't have old compilers. > > See > > http://fate.ffmpeg.org/report.cgi?time=20220409194302&slot=x86_64-netbsd-clang-noopt > http://fate.ffmpeg.org/report.cgi?time=20220409194413&slot=x86_64-netbsd-gcc34 > http://fate.ffmpeg.org/report.cgi?time=20220409200245&slot=x86_64-openbsd5.6-gcc4.2-conf2 > http://fate.ffmpeg.org/report.cgi?time=20220409040143&slot=armel5tej-qemu-debian-gcc4.4 > > Clang 3 even says "redefinition of typedef 'DrawBoxContext' is invalid in C", > but newer > Clang compiles it fine. >
Before C11, typedefs were subject to the one-definition-rule, so that redefining them was forbidden. C11 allowed it. > libavfilter/vf_drawbox.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/libavfilter/vf_drawbox.c b/libavfilter/vf_drawbox.c > index a4fe0b8abd..65bd039d65 100644 > --- a/libavfilter/vf_drawbox.c > +++ b/libavfilter/vf_drawbox.c > @@ -73,9 +73,9 @@ enum var_name { > VARS_NB > }; > > -typedef struct DrawBoxContext DrawBoxContext; > +struct DrawBoxContext; > > -typedef int (*PixelBelongsToRegion)(DrawBoxContext *s, int x, int y); > +typedef int (*PixelBelongsToRegion)(struct DrawBoxContext *s, int x, int y); > > typedef struct DrawBoxContext { > const AVClass *class; > @@ -96,7 +96,7 @@ typedef struct DrawBoxContext { > int step; > enum AVFrameSideDataType box_source; > > - void (*draw_region)(AVFrame *frame, DrawBoxContext *ctx, int left, int > top, int right, int down, > + void (*draw_region)(AVFrame *frame, struct DrawBoxContext *ctx, int > left, int top, int right, int down, > PixelBelongsToRegion pixel_belongs_to_region); > } DrawBoxContext; > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".