summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/divesite.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/divesite.c b/core/divesite.c
index e4ba71abb..18efead7e 100644
--- a/core/divesite.c
+++ b/core/divesite.c
@@ -189,14 +189,17 @@ uint32_t create_divesite_uuid(const char *name, timestamp_t divetime)
{
if (name == NULL)
name ="";
- unsigned char hash[20];
+ union {
+ unsigned char hash[20];
+ uint32_t i;
+ } u;
SHA_CTX ctx;
SHA1_Init(&ctx);
SHA1_Update(&ctx, &divetime, sizeof(timestamp_t));
SHA1_Update(&ctx, name, strlen(name));
- SHA1_Final(hash, &ctx);
+ SHA1_Final(u.hash, &ctx);
// now return the first 32 of the 160 bit hash
- return *(uint32_t *)hash;
+ return u.i;
}
/* allocate a new site and add it to the table */