Hi FreeType developers, I'm Seigo Nonaka working on Android. I found a build warning in the latest FreeType source code and likely this only happens with the bionic libc used in Android.
Here is the proposed patch for fixing warnings. Hope this can be merged to the trunk of FreeType. Thank you. Seigo Author: Seigo Nonaka <[email protected]> Date: Tue Nov 23 16:08:11 2021 -0800 Fix build warning on Android scaled_w and scaled_d in ftobj.c is FT_Long (a.k.a signed long) and FT_USHORT_MAX is unsigned short in bionic (libc used in Android). The bionic defines USHRT_MAX as 0xffffU which is unsigned, then the compiler warns against the signed-unsigned comparison. To fix this warning, cast FT_USHORT_MAX to FT_Long before comparing. diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 62475d4e9..883f1a897 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -3230,8 +3230,8 @@ scaled_w = ( scaled_w + 32 ) >> 6; scaled_h = ( scaled_h + 32 ) >> 6; - if ( scaled_w > FT_USHORT_MAX || - scaled_h > FT_USHORT_MAX ) + if ( scaled_w > (FT_Long)FT_USHORT_MAX || + scaled_h > (FT_Long)FT_USHORT_MAX ) { FT_ERROR(( "FT_Request_Metrics: Resulting ppem size too large\n" )); error = FT_ERR( Invalid_Pixel_Size );
