X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=libdivecomputer.c;h=daf724190d44d7868ff1a753c29a6a9954c06e09;hb=16b6df559f7b5aabbcbec7d7d08f3687b30384dc;hp=78be2019a4adba9c03461ba5274271506a730f03;hpb=c15f798a85db53dae404a9113266a4d2bc72fbc6;p=ext%2Fsubsurface.git diff --git a/libdivecomputer.c b/libdivecomputer.c index 78be201..daf7241 100644 --- a/libdivecomputer.c +++ b/libdivecomputer.c @@ -1,5 +1,7 @@ #include #include +#include +#include #include "dive.h" #include "divelist.h" @@ -107,7 +109,7 @@ static int parse_gasmixes(struct dive *dive, parser_t *parser, int ngases) he = gasmix.helium * 1000 + 0.5; /* Ignore bogus data - libdivecomputer does some crazy stuff */ - if (o2 < 210 || o2 >= 1000) + if (o2 <= AIR_PERMILLE || o2 >= 1000) o2 = 0; if (he < 0 || he >= 800 || o2+he >= 1000) he = 0; @@ -223,7 +225,7 @@ static int find_dive(struct dive *dive, device_data_t *devdata) { int i; - for (i = 0; i < devdata->preexisting; i++) { + for (i = 0; i < dive_table.preexisting; i++) { struct dive *old = dive_table.dives[i]; if (dive->when != old->when) @@ -333,7 +335,6 @@ static int dive_cb(const unsigned char *data, unsigned int size, static device_status_t import_device_data(device_t *device, device_data_t *devicedata) { - devicedata->preexisting = dive_table.nr; return device_foreach(device, dive_cb, devicedata); } @@ -412,10 +413,10 @@ static device_status_t device_open(const char *devname, static void event_cb(device_t *device, device_event_t event, const void *data, void *userdata) { - const device_progress_t *progress = (device_progress_t *) data; - const device_devinfo_t *devinfo = (device_devinfo_t *) data; - const device_clock_t *clock = (device_clock_t *) data; - device_data_t *devdata = (device_data_t *) userdata; + const device_progress_t *progress = data; + const device_devinfo_t *devinfo = data; + const device_clock_t *clock = data; + device_data_t *devdata = userdata; switch (event) { case DEVICE_EVENT_WAITING: @@ -434,8 +435,8 @@ static void event_cb(device_t *device, device_event_t event, const void *data, v break; case DEVICE_EVENT_CLOCK: devdata->clock = *clock; - printf("Event: systime=%lld, devtime=%u\n", - clock->systime, clock->devtime); + printf("Event: systime=%"PRId64", devtime=%u\n", + (uint64_t)clock->systime, clock->devtime); break; default: break;