On 01/26/15 12:29, YongHao Hu wrote:
if(flags.Precision >= 0 && toupper(flags.Format)!='G') {
temp = pow(10, flags.Precision);
val = round(val * temp) / temp;
}
This is not correct, val may loose to much precision. Also temp can become INF (in your patch temp is int but I guess it's a mistake). I'm afraid that in order to fix this bug you'll need to stop using glibcs sprintf in wine's printf implementation.
Your patch to msvcp tests depends on this patch. Please send patches that depend on each other in series.
Thanks, Piotr
Thank you for your review and advice. I will try to improve it. :) By the way, I will send another independent patch to msvcp tests.
On 2015年01月27日 19:02, Piotr Caban wrote:
This is not correct, val may loose to much precision. Also temp can become INF (in your patch temp is int but I guess it's a mistake). I'm afraid that in order to fix this bug you'll need to stop using glibcs sprintf in wine's printf implementation.
Your patch to msvcp tests depends on this patch. Please send patches that depend on each other in series.