summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2014-11-06 22:02:22 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-11-07 12:59:08 -0800
commit9aefaa1ec87aff88bb1170bd6a79b76d351f804f (patch)
tree09a0a87fdc9e84c6402c53abb216a0867a3b4d88
parent77621ef7df1005a26d2701f22342d0d64e589708 (diff)
downloadsubsurface-9aefaa1ec87aff88bb1170bd6a79b76d351f804f.tar.gz
Add helper function to add extra_data to dive computer
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--dive.c14
-rw-r--r--dive.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/dive.c b/dive.c
index 45b50b72d..0216a75ac 100644
--- a/dive.c
+++ b/dive.c
@@ -145,6 +145,20 @@ void update_event_name(struct dive *d, struct event *event, char *name)
free(remove);
}
+void add_extra_data(struct divecomputer *dc, const char *key, const char *value)
+{
+ struct extra_data **ed = &dc->extra_data;
+
+ while (*ed)
+ ed = &(*ed)->next;
+ *ed = malloc(sizeof(struct extra_data));
+ if (*ed) {
+ (*ed)->key = strdup(key);
+ (*ed)->value = strdup(value);
+ (*ed)->next = NULL;
+ }
+}
+
/* this returns a pointer to static variable - so use it right away after calling */
struct gasmix *get_gasmix_from_event(struct event *ev)
{
diff --git a/dive.h b/dive.h
index 71275a244..dffdc4ebe 100644
--- a/dive.h
+++ b/dive.h
@@ -690,6 +690,7 @@ extern void add_gas_switch_event(struct dive *dive, struct divecomputer *dc, int
extern struct event *add_event(struct divecomputer *dc, int time, int type, int flags, int value, const char *name);
extern void remove_event(struct event *event);
extern void update_event_name(struct dive *d, struct event* event, char *name);
+extern void add_extra_data(struct divecomputer *dc, const char *key, const char *value);
extern void per_cylinder_mean_depth(struct dive *dive, struct divecomputer *dc, int *mean, int *duration);
extern int get_cylinder_index(struct dive *dive, struct event *ev);
extern int nr_cylinders(struct dive *dive);