summaryrefslogtreecommitdiffstats
path: root/save-xml.c
diff options
context:
space:
mode:
Diffstat (limited to 'save-xml.c')
-rw-r--r--save-xml.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/save-xml.c b/save-xml.c
index 6921e3b2e..6d0284056 100644
--- a/save-xml.c
+++ b/save-xml.c
@@ -523,9 +523,22 @@ void save_dives_buffer(struct membuffer *b, const bool select_only)
if (d->dive_site_uuid == ds->uuid)
d->dive_site_uuid = 0;
}
- delete_dive_site(get_dive_site(i)->uuid);
+ delete_dive_site(ds->uuid);
i--; // since we just deleted that one
continue;
+ } else if (ds->name &&
+ (strncmp(ds->name, "Auto-created dive", 17) == 0 ||
+ strncmp(ds->name, "New Dive", 8) == 0)) {
+ // these are the two default names for sites from
+ // the web service; if the site isn't used in any
+ // dive (really? you didn't rename it?), delete it
+ if (!is_dive_site_used(ds->uuid, false)) {
+ if (verbose)
+ fprintf(stderr, "Deleted unused auto-created dive site %s\n", ds->name);
+ delete_dive_site(ds->uuid);
+ i--; // since we just deleted that one
+ continue;
+ }
}
if (select_only && !is_dive_site_used(ds->uuid, true))
continue;