diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-11-06 22:02:22 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-11-07 12:59:08 -0800 |
commit | 9aefaa1ec87aff88bb1170bd6a79b76d351f804f (patch) | |
tree | 09a0a87fdc9e84c6402c53abb216a0867a3b4d88 | |
parent | 77621ef7df1005a26d2701f22342d0d64e589708 (diff) | |
download | subsurface-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.c | 14 | ||||
-rw-r--r-- | dive.h | 1 |
2 files changed, 15 insertions, 0 deletions
@@ -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) { @@ -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); |