mirror of
git://git.musl-libc.org/musl
synced 2025-03-11 06:07:29 +00:00
fix ecvt/fcvt decimal point position output
these functions are obsolete and have no modern standard. the text in SUSv2 is highly ambiguous, specifying that "negative means to the left of the returned digits", which suggested to me that 0 would mean to the right of the first digit. however, this does not agree with historic practice, and the Linux man pages are more clear, specifying that a negative value means "that the decimal point is to the left of the start of the string" (in which case, 0 would mean the start of the string, in accordance with historic practice).
This commit is contained in:
parent
734062b298
commit
a0cc022cc7
@ -13,7 +13,7 @@ char *ecvt(double x, int n, int *dp, int *sign)
|
||||
for (j=0; tmp[i]!='e'; j+=(tmp[i++]!='.'))
|
||||
buf[j] = tmp[i];
|
||||
buf[j] = 0;
|
||||
*dp = atoi(tmp+i+1);
|
||||
*dp = atoi(tmp+i+1)+1;
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user