[FFmpeg-devel] [PATCH] avfilter: remove useless cast

Zhao Zhili quinkblack at foxmail.com
Wed Nov 6 16:41:16 EET 2019



> On Nov 6, 2019, at 10:15 PM, Fu, Linjie <linjie.fu at intel.com> wrote:
> 
>> -----Original Message-----
>> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
>> "zhilizhao(???)"
>> Sent: Wednesday, November 6, 2019 21:09
>> To: FFmpeg development discussions and patches <ffmpeg-
>> devel at ffmpeg.org>
>> Subject: Re: [FFmpeg-devel] [PATCH] avfilter: remove useless cast
>> 
>> 
>> 
>>> On Oct 29, 2019, at 10:28 PM, zhilizhao(赵志立) <quinkblack at foxmail.com>
>> wrote:
>>> 
>>> 
>>>> On Oct 29, 2019, at 9:15 PM, Paul B Mahol <onemda at gmail.com> wrote:
>>>> 
>>>> On 10/29/19, Michael Niedermayer <michael at niedermayer.cc> wrote:
>>>>> On Mon, Oct 28, 2019 at 11:18:04AM +0800, mypopy at gmail.com wrote:
>>>>>> On Mon, Oct 28, 2019 at 12:03 AM Zhao Zhili <quinkblack at foxmail.com>
>>>>>> wrote:
>>>>>>> 
>>>>>>> ---
>>>>>>> libavfilter/allfilters.c | 2 +-
>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>> 
>>>>>>> diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
>>>>>>> index d136734338..6156066028 100644
>>>>>>> --- a/libavfilter/allfilters.c
>>>>>>> +++ b/libavfilter/allfilters.c
>>>>>>> @@ -503,7 +503,7 @@ const AVFilter *avfilter_get_by_name(const
>> char
>>>>>>> *name)
>>>>>>> 
>>>>>>>   while ((f = av_filter_iterate(&opaque)))
>>>>>>>       if (!strcmp(f->name, name))
>>>>>>> -            return (AVFilter *)f;
>>>>>>> +            return f;
>>>>>>> 
>>>>>>>   return NULL;
>>>>>>> }
>>>>>>> --
>>>>>>> 2.21.0
>>>>>> LGTM
>>>>> 
>>>>> will apply
>>>>> 
>>>> 
>>>> Breaks ABI.
>>> 
>>> I don’t get it, would you care to elaborate?
>> 
>> Ping.
>> 
> 
> Is this because of :
> "9. Change the const or volatile qualifier of a member function"
> 
> Some compilers encode the constness of a function in the mangled
> name and hence changing the function from const to non-const changes
> the mangled name.
> 
> https://www.acodersjourney.com/20-abi-breaking-changes/ <https://www.acodersjourney.com/20-abi-breaking-changes/>

It doesn't change the qualifier of function return type or local variable.
And mangle/demangle doesn't matter for C, right?
 
const AVFilter *avfilter_get_by_name(const char *name)
{
    const AVFilter *f = NULL;
    void *opaque = 0;

    if (!name)
        return NULL;

    while ((f = av_filter_iterate(&opaque)))
        if (!strcmp(f->name, name))
            return (AVFilter *)f;

    return NULL;
}


> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list