Assign the uniq dive ID the moment a dive is allocated

Previously we only did this when we did fixup_dive(), but that way we
can't reference dives "early" in their life cycle (e.g., right after they
got downloaded).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-05-19 06:53:28 +09:00
parent cae51ff0aa
commit b36c8f07c7

6
dive.c
View file

@ -221,6 +221,7 @@ struct dive *alloc_dive(void)
if (!dive)
exit(1);
memset(dive, 0, sizeof(*dive));
dive->id = dive_getUniqID(dive);
return dive;
}
@ -955,7 +956,10 @@ struct dive *fixup_dive(struct dive *dive)
weightsystem_t *ws = dive->weightsystem + i;
add_weightsystem_description(ws);
}
dive->id = dive_getUniqID(dive);
/* we should always have a uniq ID as that gets assigned during alloc_dive(),
* but we want to make sure... */
if (!dive->id)
dive->id = dive_getUniqID(dive);
return dive;
}