Kaydet (Commit) d6c80f23 authored tarafından Michael Stahl's avatar Michael Stahl

tools: check for data loss in WriteFraction

Currently it's only used in VCL's MapMode.

Change-Id: Ib8ce09fadc704bc4d592d333d4cf3bddc9185036
üst 7cc23494
......@@ -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() );
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment