summaryrefslogtreecommitdiffstats
path: root/membuffer.c
diff options
context:
space:
mode:
authorGravatar Gehad <gehadelrobey@gmail.com>2014-04-05 13:01:34 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-04-05 16:10:11 -0700
commitcb3436b42eecdb0a058ed565709804292b80469b (patch)
tree8cf631a40536e4f3026c8ed9a03e34766d328a00 /membuffer.c
parent62e4c4069b517e97660452edd70f65d3cdb15e35 (diff)
downloadsubsurface-cb3436b42eecdb0a058ed565709804292b80469b.tar.gz
Use helper function to write decimal numbers
Never ever use '%f' to write floating point data to a file. The stupid locale handling creates useless comma-infested output in some locales. Instead use one of our clever helper functions to do the right thing. Original patch by Gehad, modified by Linus to be a little more generic. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'membuffer.c')
-rw-r--r--membuffer.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/membuffer.c b/membuffer.c
index 9d3167293..82816ece6 100644
--- a/membuffer.c
+++ b/membuffer.c
@@ -164,3 +164,15 @@ void put_salinity(struct membuffer *b, int salinity, const char *pre, const char
if (salinity)
put_format(b, "%s%d%s", pre, salinity / 10, post);
}
+
+void put_degrees(struct membuffer *b, degrees_t value, const char *pre, const char *post)
+{
+ int udeg = value.udeg;
+ const char *sign = "";
+
+ if (udeg < 0) {
+ udeg = -udeg;
+ sign = "-";
+ }
+ put_format(b,"%s%s%u.%06u%s", pre, sign, FRACTION(udeg, 1000000), post);
+}