From b36c8f07c7019fac1bc72d3b44a4486ea6d3458d Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 19 May 2014 06:53:28 +0900 Subject: 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 --- dive.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dive.c b/dive.c index f593dde94..80aa555ee 100644 --- a/dive.c +++ b/dive.c @@ -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; } -- cgit v1.2.3-70-g09d2