tools: check for data loss in WriteFraction
Currently it's only used in VCL's MapMode. Change-Id: Ib8ce09fadc704bc4d592d333d4cf3bddc9185036
This commit is contained in:
@@ -384,6 +384,12 @@ SvStream& WriteFraction( SvStream& rOStream, const Fraction& rFract )
|
||||
rOStream.WriteInt32( 0 );
|
||||
rOStream.WriteInt32( -1 );
|
||||
} else {
|
||||
#if OSL_DEBUG_LEVEL > 0
|
||||
// can only write 32 bits - check that no data is lost!
|
||||
boost::rational<sal_Int64> copy(rFract.mpImpl->value);
|
||||
rational_ReduceInaccurate(copy, 32);
|
||||
assert(copy == rFract.mpImpl->value && "data loss in WriteFraction!");
|
||||
#endif
|
||||
rOStream.WriteInt32( rFract.mpImpl->value.numerator() );
|
||||
rOStream.WriteInt32( rFract.mpImpl->value.denominator() );
|
||||
}
|
||||
|
Reference in New Issue
Block a user