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>
This commit is contained in:
Gehad 2014-04-05 13:01:34 -07:00 committed by Dirk Hohndel
parent 62e4c4069b
commit cb3436b42e
4 changed files with 17 additions and 17 deletions

View file

@ -38,24 +38,11 @@ static void cond_put_format(int cond, struct membuffer *b, const char *fmt, ...)
#define SAVE(str, x) cond_put_format(dive->x, b, str " %d\n", dive->x)
static void put_degrees(struct membuffer *b, degrees_t value, const char sep)
{
int udeg = value.udeg;
const char *sign = "";
if (udeg < 0) {
udeg = -udeg;
sign = "-";
}
put_format(b,"%s%u.%06u%c", sign, FRACTION(udeg, 1000000), sep);
}
static void show_gps(struct membuffer *b, degrees_t latitude, degrees_t longitude)
{
if (latitude.udeg || longitude.udeg) {
put_string(b, "gps ");
put_degrees(b, latitude, ' ');
put_degrees(b, longitude, '\n');
put_degrees(b, latitude, "gps ", " ");
put_degrees(b, longitude, "", "\n");
}
}