musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
path: root/src/stdlib/ecvt.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013年08月07日 11:14:45 -0400
committerRich Felker <dalias@aerifal.cx>2013年08月07日 11:14:45 -0400
commita0cc022cc79984648e0ea5e7e5e7620686c56b60 (patch)
tree9e182b20d04693a5b96ac9b3cf60e1ddf59690d3 /src/stdlib/ecvt.c
parent734062b298e129a8f8bdae299f8d2b7b19419867 (diff)
downloadmusl-a0cc022cc79984648e0ea5e7e5e7620686c56b60.tar.gz
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).
Diffstat (limited to 'src/stdlib/ecvt.c')
-rw-r--r--src/stdlib/ecvt.c 2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/stdlib/ecvt.c b/src/stdlib/ecvt.c
index 48e70cd8..79c3de63 100644
--- a/src/stdlib/ecvt.c
+++ b/src/stdlib/ecvt.c
@@ -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;
}
generated by cgit v1.2.1 (git 2.18.0) at 2025年09月08日 23:10:52 +0000

AltStyle によって変換されたページ (->オリジナル) /