mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Parse time on only one place in DLF import
Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
e86d298734
commit
c5467b0d73
1 changed files with 7 additions and 7 deletions
14
parse-xml.c
14
parse-xml.c
|
@ -2535,6 +2535,7 @@ int parse_dlf_buffer(unsigned char *buffer, size_t size)
|
||||||
{
|
{
|
||||||
unsigned char *ptr = buffer;
|
unsigned char *ptr = buffer;
|
||||||
bool event, found;
|
bool event, found;
|
||||||
|
unsigned int time = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
target_table = &dive_table;
|
target_table = &dive_table;
|
||||||
|
@ -2545,15 +2546,16 @@ int parse_dlf_buffer(unsigned char *buffer, size_t size)
|
||||||
dive_start();
|
dive_start();
|
||||||
|
|
||||||
while (ptr < buffer + size) {
|
while (ptr < buffer + size) {
|
||||||
|
time = ((ptr[0] >> 4) & 0x0f) +
|
||||||
|
((ptr[1] << 4) & 0xff0) +
|
||||||
|
(ptr[2] & 0x0f) * 3600; /* hours */
|
||||||
event = ptr[0] & 0x0f;
|
event = ptr[0] & 0x0f;
|
||||||
if (event == 1) {
|
if (event == 1) {
|
||||||
/* dive event */
|
/* dive event */
|
||||||
switch(ptr[4]) {
|
switch(ptr[4]) {
|
||||||
case 5:
|
case 5:
|
||||||
event_start();
|
event_start();
|
||||||
cur_event.time.seconds = ((ptr[0] >> 4) & 0x0f) +
|
cur_event.time.seconds = time;
|
||||||
((ptr[1] << 4) & 0xff0) +
|
|
||||||
(ptr[2] & 0x0f) * 3600; /* hours */
|
|
||||||
strcpy(cur_event.name, "gaschange");
|
strcpy(cur_event.name, "gaschange");
|
||||||
cur_event.type = 25;
|
cur_event.type = 25;
|
||||||
cur_event.value = ptr[6];
|
cur_event.value = ptr[6];
|
||||||
|
@ -2573,13 +2575,11 @@ int parse_dlf_buffer(unsigned char *buffer, size_t size)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "DEBUG (event): %d\n", ptr[4]);
|
fprintf(stderr, "DEBUG (event): %d at time %d\n", ptr[4], time);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sample_start();
|
sample_start();
|
||||||
cur_sample->time.seconds = ((ptr[0] >> 4) & 0x0f) +
|
cur_sample->time.seconds = time;
|
||||||
((ptr[1] << 4) & 0xff0) +
|
|
||||||
(ptr[2] & 0x0f) * 3600; /* hours */
|
|
||||||
cur_sample->depth.mm = ((ptr[4] & 0xff) + ((ptr[5] << 8) & 0xff00)) * 10;
|
cur_sample->depth.mm = ((ptr[4] & 0xff) + ((ptr[5] << 8) & 0xff00)) * 10;
|
||||||
sample_end();
|
sample_end();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue