diff options
-rw-r--r-- | save-git.c | 6 | ||||
-rw-r--r-- | save-xml.c | 8 |
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)); |