[FFmpeg-devel] [PATCH 2/6] avutil/common: add parenthesis around GET_16BIT in GET_UTF16

Marton Balint cus at passwd.hu
Thu Jan 30 19:12:14 EET 2020



On Thu, 30 Jan 2020, Paul B Mahol wrote:

> why?

Because it is a macro and otherwise operator precedence might 
interfere with what the user would expect. In the second GET_16BIT you 
can't use bitwise operators because their precedence is lower than 
substraction which is used there.

>
> On 1/30/20, Marton Balint <cus at passwd.hu> wrote:
>> Signed-off-by: Marton Balint <cus at passwd.hu>
>> ---
>>  libavutil/common.h | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavutil/common.h b/libavutil/common.h
>> index 5568754bb9..02671190a6 100644
>> --- a/libavutil/common.h
>> +++ b/libavutil/common.h
>> @@ -408,11 +408,11 @@ static av_always_inline av_const int
>> av_parity_c(uint32_t v)
>>   *                  typically a goto statement.
>>   */
>>  #define GET_UTF16(val, GET_16BIT, ERROR)\
>> -    val = GET_16BIT;\
>> +    val = (GET_16BIT);\
>>      {\
>>          unsigned int hi = val - 0xD800;\
>>          if (hi < 0x800) {\
>> -            val = GET_16BIT - 0xDC00;\
>> +            val = (GET_16BIT) - 0xDC00;\
>>              if (val > 0x3FFU || hi > 0x3FFU)\
>>                  ERROR\
>>              val += (hi<<10) + 0x10000;\
>> --
>> 2.16.4
>>
>> _______________________________________________
>> 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