X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=uemis.c;fp=uemis.c;h=25d1b8ab76a7f215c61dbed5b746b49a51ac9bf7;hb=fe0eff8f1ef6f5bd73a0b89d3ac5fc334650c184;hp=8dfc5a373f384d28c581d0464f1b36b7e05821c0;hpb=9d8bdee350b4193a555be0f3f7fb94a9670a4a7e;p=ext%2Fsubsurface.git diff --git a/uemis.c b/uemis.c index 8dfc5a3..25d1b8a 100644 --- a/uemis.c +++ b/uemis.c @@ -220,12 +220,13 @@ static void parse_divelog_binary(char *base64, struct dive **divep) { if (*(uint16_t *)(data+i) > dive->duration.seconds + 180) break; sample = prepare_sample(divep); + dive = *divep; /* prepare_sample might realloc the dive */ sample->time.seconds = *(uint16_t *)(data+i); sample->depth.mm = pressure_to_depth(*(uint16_t *)(data+i+2)); sample->temperature.mkelvin = (*(uint16_t *)(data+i+4) * 100) + 273150; sample->cylinderpressure.mbar= *(uint16_t *)(data+i+23) * 10; sample->cylinderindex = *(uint8_t *)(data+i+22); - finish_sample(*divep, sample); + finish_sample(dive, sample); i += 0x25; } dive->duration.seconds = sample->time.seconds - 1;