Index: src/base/ftcalc.c |
diff --git a/src/base/ftcalc.c b/src/base/ftcalc.c |
index 3892fabfe934a8db362d0ddf1f86cc821c26d1f1..2aeea0459bc83d93c5f30de7dc1ffb913b12f981 100644 |
--- a/src/base/ftcalc.c |
+++ b/src/base/ftcalc.c |
@@ -4,7 +4,7 @@ |
/* */ |
/* Arithmetic computations (body). */ |
/* */ |
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2008 by */ |
+/* Copyright 1996-2006, 2008, 2012 by */ |
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
/* */ |
/* This file is part of the FreeType project, and may only be used, */ |
@@ -307,7 +307,7 @@ |
q <<= 1; |
r |= lo >> 31; |
- if ( r >= (FT_UInt32)y ) |
+ if ( r >= y ) |
{ |
r -= y; |
q |= 1; |
@@ -373,7 +373,7 @@ |
if ( a <= 46340L && b <= 46340L && c <= 176095L && c > 0 ) |
a = ( a * b + ( c >> 1 ) ) / c; |
- else if ( c > 0 ) |
+ else if ( (FT_Int32)c > 0 ) |
{ |
FT_Int64 temp, temp2; |
@@ -412,7 +412,7 @@ |
if ( a <= 46340L && b <= 46340L && c > 0 ) |
a = a * b / c; |
- else if ( c > 0 ) |
+ else if ( (FT_Int32)c > 0 ) |
{ |
FT_Int64 temp; |
@@ -464,7 +464,7 @@ |
* Unfortunately, it doesn't work (at least not portably). |
* |
* It makes the assumption that right-shift on a negative signed value |
- * fills the leftmost bits by copying the sign bit. This is wrong. |
+ * fills the leftmost bits by copying the sign bit. This is wrong. |
* According to K&R 2nd ed, section `A7.8 Shift Operators' on page 206, |
* the result of right-shift of a negative signed value is |
* implementation-defined. At least one implementation fills the |
@@ -544,7 +544,7 @@ |
s = (FT_Int32)a; a = FT_ABS( a ); |
s ^= (FT_Int32)b; b = FT_ABS( b ); |
- if ( b == 0 ) |
+ if ( (FT_UInt32)b == 0 ) |
{ |
/* check for division by 0 */ |
q = (FT_UInt32)0x7FFFFFFFL; |
@@ -552,15 +552,16 @@ |
else if ( ( a >> 16 ) == 0 ) |
{ |
/* compute result directly */ |
- q = (FT_UInt32)( (a << 16) + (b >> 1) ) / (FT_UInt32)b; |
+ q = (FT_UInt32)( ( a << 16 ) + ( b >> 1 ) ) / (FT_UInt32)b; |
} |
else |
{ |
/* we need more bits; we have to do it by hand */ |
FT_Int64 temp, temp2; |
- temp.hi = (FT_Int32) (a >> 16); |
- temp.lo = (FT_UInt32)(a << 16); |
+ |
+ temp.hi = (FT_Int32) ( a >> 16 ); |
+ temp.lo = (FT_UInt32)( a << 16 ); |
temp2.hi = 0; |
temp2.lo = (FT_UInt32)( b >> 1 ); |
FT_Add64( &temp, &temp2, &temp ); |