From 6378bfd91ee6c0ad746b072d8a9389e0eba7c614 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Thu, 24 Apr 2014 12:59:42 -0300 Subject: Save latitude and longitude on XML even if location not set This bug don't exists when saving to git storage, only when saving XML. The latitude and longitude were being discarded if the location name was not set and this breaks some users workflow. Not nice. This should fix the final missing part for bug #440 Fixes #440 Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- save-xml.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/save-xml.c b/save-xml.c index 4ad03dbf6..1db2513d0 100644 --- a/save-xml.c +++ b/save-xml.c @@ -71,19 +71,16 @@ static void quote(struct membuffer *b, const char *text, int is_attribute) static void show_utf8(struct membuffer *b, const char *text, const char *pre, const char *post, int is_attribute) { int len; - - if (!text) - return; - while (isspace(*text)) - text++; - len = strlen(text); - if (!len) - return; - while (len && isspace(text[len - 1])) - len--; - /* FIXME! Quoting! */ put_string(b, pre); - quote(b, text, is_attribute); + if (text){ + while (isspace(*text)) + text++; + len = strlen(text); + while (len && isspace(text[len - 1])) + len--; + /* FIXME! Quoting! */ + quote(b, text, is_attribute); + } put_string(b, post); } @@ -188,13 +185,7 @@ static void show_location(struct membuffer *b, struct dive *dive) */ if (latitude.udeg || longitude.udeg) { int len = sprintf(buffer, " location) { - memcpy(buffer + len, "/>\n", 4); - put_string(b, buffer); - return; - } buffer[len++] = '>'; buffer[len] = 0; prefix = buffer; -- cgit v1.2.3-70-g09d2