Using '%f' limits the precision to 6 decimals, which may well be
perfectly ok. But at least in theory you *could* have higher precision,
and gps units will report it, so don't mindlessly limit us to what %f
shows.
This arbitrarily uses '%.12g' instead. %g will drop excess zeroes at
the end, so it actually results in the same (or shorter) ascii
representation unless you have the extra precision.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
*/
if (latitude || longitude) {
int len = snprintf(buffer, sizeof(buffer)-4,
- " <location gps='%f %f'>",
+ " <location gps='%.12g %.12g'>",
latitude, longitude);
if (!dive->location) {
memcpy(&buffer[len-1], "/>\n", 4);