summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--save-git.c6
-rw-r--r--save-xml.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/save-git.c b/save-git.c
index 9e6819322..96a689ffa 100644
--- a/save-git.c
+++ b/save-git.c
@@ -403,8 +403,10 @@ static void create_dive_buffer(struct dive *dive, struct membuffer *b)
SAVE("visibility", visibility);
cond_put_format(dive->tripflag == NO_TRIP, b, "notrip\n");
save_tags(b, dive->tag_list);
- cond_put_format(dive->dive_site_uuid, b, "divesiteid %08x\n", dive->dive_site_uuid);
-
+ cond_put_format(dive->dive_site_uuid && get_dive_site_by_uuid(dive->dive_site_uuid),
+ b, "divesiteid %08x\n", dive->dive_site_uuid);
+ if (verbose && dive->dive_site_uuid && get_dive_site_by_uuid(dive->dive_site_uuid))
+ fprintf(stderr, "removed reference to non-existant dive site with uuid %08x\n", dive->dive_site_uuid);
save_overview(b, dive);
save_cylinder_info(b, dive);
save_weightsystem_info(b, dive);
diff --git a/save-xml.c b/save-xml.c
index 778218fa4..6921e3b2e 100644
--- a/save-xml.c
+++ b/save-xml.c
@@ -401,8 +401,12 @@ void save_one_dive_to_mb(struct membuffer *b, struct dive *dive)
if (dive->visibility)
put_format(b, " visibility='%d'", dive->visibility);
save_tags(b, dive->tag_list);
- if (dive->dive_site_uuid)
- put_format(b, " divesiteid='%8x'", dive->dive_site_uuid);
+ if (dive->dive_site_uuid) {
+ if (get_dive_site_by_uuid(dive->dive_site_uuid) != NULL)
+ put_format(b, " divesiteid='%8x'", dive->dive_site_uuid);
+ else if (verbose)
+ fprintf(stderr, "removed reference to non-existant dive site with uuid %08x\n", dive->dive_site_uuid);
+ }
show_date(b, dive->when);
put_format(b, " duration='%u:%02u min'>\n",
FRACTION(dive->dc.duration.seconds, 60));