[FFmpeg-devel] [PATCH] fftools/objpool: Don't use return with expression when returning void

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat Jul 23 19:53:35 EEST 2022


Hendrik Leppkes:
> On Sat, Jul 23, 2022 at 6:24 PM Andreas Rheinhardt
> <andreas.rheinhardt at outlook.com> wrote:
>>
>> Using tail calls with functions returning void is forbidden
>> (C99/C11 6.8.6.4: "A return statement with an expression shall not appear
>> in a function whose return type is void.") GCC emits a warning
>> because of this when using -pedantic: "ISO C forbids ‘return’ with
>> expression, in function returning void"
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>> ---
>>  fftools/objpool.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/fftools/objpool.c b/fftools/objpool.c
>> index b1561ecd69..06e4f069a5 100644
>> --- a/fftools/objpool.c
>> +++ b/fftools/objpool.c
>> @@ -101,11 +101,13 @@ static void *alloc_frame(void)
>>
>>  static void reset_packet(void *obj)
>>  {
>> -    return av_packet_unref(obj);
>> +    av_packet_unref(obj);
>> +    return;
>>  }
>>  static void reset_frame(void *obj)
>>  {
>> -    return av_frame_unref(obj);
>> +    av_frame_unref(obj);
>> +    return;
>>  }
>>
> 
> Maybe leave out the return's entirely? Its not a pattern we typically
> use to have return at the end of a function.
> 

Thanks for reminding me that void functions don't need a return at the
end at all. I feel stupid right now.

- Andreas


More information about the ffmpeg-devel mailing list