Carl Eugen Hoyos (12020-05-01): > Hi! > > Attached patch, inspired by a patch by Andreas, fixes the following > warning when -Wpedantic is used: > CC libavutil/threadmessage.o > libavutil/threadmessage.c: In function ‘av_thread_message_flush’: > libavutil/threadmessage.c:222:23: warning: ISO C forbids > initialization between function pointer and ‘void *’ [-Wpedantic] > 222 | void *free_func = mq->free_func; > | ^~ > > > Please comment, Carl Eugen
> From 3f0b6c654b7473452638c1cc06dfe45eebb59079 Mon Sep 17 00:00:00 2001 > From: Carl Eugen Hoyos <ceffm...@gmail.com> > Date: Fri, 1 May 2020 23:42:01 +0200 > Subject: [PATCH] lavu/threadmessage: Properly declare a function pointer. > MIME-Version: 1.0 > Content-Type: text/plain; charset=UTF-8 > Content-Transfer-Encoding: 8bit > > Fixes a pedantic warning: > libavutil/threadmessage.c:222:23: warning: ISO C forbids initialization > between function pointer and ‘void *’ > --- > libavutil/threadmessage.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavutil/threadmessage.c b/libavutil/threadmessage.c > index 764b7fb813..797ba6c44c 100644 > --- a/libavutil/threadmessage.c > +++ b/libavutil/threadmessage.c > @@ -219,7 +219,7 @@ void av_thread_message_flush(AVThreadMessageQueue *mq) > { > #if HAVE_THREADS > int used, off; > - void *free_func = mq->free_func; > + void(*free_func)(void *) = mq->free_func; > > pthread_mutex_lock(&mq->lock); > used = av_fifo_size(mq->fifo); This is not ok. Now free_func is properly a function pointer, but it is later still used as a void *, it is as much invalid as it was before. I thin it could work: void *free_funcp = &mq->free_func; // pointer to data and in free_func_wrap(): void (*free_func)(void *) = *((void (*)(void *)) *)arg; But that needs testing. Do we support an arch where function pointers are different? Regards, -- Nicolas George
signature.asc
Description: PGP signature
_______________________________________________ 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".