summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--divesite.c10
-rw-r--r--divesite.h3
2 files changed, 13 insertions, 0 deletions
diff --git a/divesite.c b/divesite.c
index 492ba9d82..4f236017f 100644
--- a/divesite.c
+++ b/divesite.c
@@ -106,3 +106,13 @@ uint32_t create_dive_site_with_gps(const char *name, degrees_t latitude, degrees
return ds->uuid;
}
+
+/* a uuid is always present - but if all the other fields are empty, the dive site is pointless */
+bool dive_site_is_empty(struct dive_site *ds)
+{
+ return same_string(ds->name, "") &&
+ same_string(ds->description, "") &&
+ same_string(ds->notes, "") &&
+ ds->latitude.udeg == 0 &&
+ ds->longitude.udeg == 0;
+}
diff --git a/divesite.h b/divesite.h
index 4702913aa..ca650259a 100644
--- a/divesite.h
+++ b/divesite.h
@@ -6,6 +6,8 @@
#ifdef __cplusplus
extern "C" {
+#else
+#include <stdbool.h>
#endif
struct dive_site
@@ -51,6 +53,7 @@ uint32_t create_dive_site(const char *name);
uint32_t create_dive_site_with_gps(const char *name, degrees_t latitude, degrees_t longitude);
uint32_t get_dive_site_uuid_by_name(const char *name, struct dive_site **dsp);
uint32_t get_dive_site_uuid_by_gps(degrees_t latitude, degrees_t longitude, struct dive_site **dsp);
+bool dive_site_is_empty(struct dive_site *ds);
#ifdef __cplusplus
}