diff options
author | Anton Lundin <glance@acc.umu.se> | 2014-05-07 00:27:49 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-05-06 15:35:08 -0700 |
commit | 7b0b5d9643d31e9b3ad260841011b81ec18eff8a (patch) | |
tree | 0dd4c786ee653eeeb515ca13455807b35f64ea4e /save-xml.c | |
parent | 0c836ebc47cab2f37274ae03ab2be6c7b2fd0456 (diff) | |
download | subsurface-7b0b5d9643d31e9b3ad260841011b81ec18eff8a.tar.gz |
Revert "Save latitude and longitude on XML even if location not set"
This fixes the bug in #440 by accident, and introduces lots of empty
attributes and tags in the xml.
This reverts commit 6378bfd91ee6c0ad746b072d8a9389e0eba7c614.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'save-xml.c')
-rw-r--r-- | save-xml.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/save-xml.c b/save-xml.c index b61f79440..54a0a8606 100644 --- a/save-xml.c +++ b/save-xml.c @@ -71,16 +71,19 @@ 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); - if (text){ - while (isspace(*text)) - text++; - len = strlen(text); - while (len && isspace(text[len - 1])) - len--; - /* FIXME! Quoting! */ - quote(b, text, is_attribute); - } + quote(b, text, is_attribute); put_string(b, post); } @@ -185,7 +188,13 @@ static void show_location(struct membuffer *b, struct dive *dive) */ if (latitude.udeg || longitude.udeg) { int len = sprintf(buffer, " <location "); + len += format_location(buffer + len, latitude, longitude); + if (!dive->location) { + memcpy(buffer + len, "/>\n", 4); + put_string(b, buffer); + return; + } buffer[len++] = '>'; buffer[len] = 0; prefix = buffer; |