]> git.tdb.fi Git - ext/subsurface.git/blobdiff - dive.c
Start handling dive events
[ext/subsurface.git] / dive.c
diff --git a/dive.c b/dive.c
index 1de3759d1bd9b76bc481b13e6f98d4d21cb4c906..67a78cc8ad309189dc14419501e1209b1997e637 100644 (file)
--- a/dive.c
+++ b/dive.c
@@ -5,6 +5,29 @@
 
 #include "dive.h"
 
+void add_event(struct dive *dive, int time, int type, int flags, int value, const char *name)
+{
+       struct event *ev, **p;
+       unsigned int size, len = strlen(name);
+
+       size = sizeof(*ev) + len + 1;
+       ev = malloc(size);
+       if (!ev)
+               return;
+       memset(ev, 0, size);
+       memcpy(ev->name, name, len);
+       ev->time.seconds = time;
+       ev->type = type;
+       ev->flags = flags;
+       ev->value = value;
+       ev->next = NULL;
+
+       p = &dive->events;
+       while (*p)
+               p = &(*p)->next;
+       *p = ev;
+}
+
 double get_depth_units(unsigned int mm, int *frac, const char **units)
 {
        int decimals;