mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
divesite.c: use rand() instead of random()
random() is POSIX and seems to be missing in MINGW. it can return a 64bit (if 'long' is 64bit) but given ID's are 32bit rand() should suffice. also random() is technically a better algorithm but for cryptographically unsafe usage like generating IDs the stdlib's LCPRNG rand() should siffuce. also this patch makes it so that a true 32bit random value is returned. how random it is, is another topic. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
56de6b73f6
commit
0f2d0211c3
1 changed files with 6 additions and 2 deletions
|
@ -39,8 +39,12 @@ static uint32_t dive_site_getUniqId()
|
||||||
{
|
{
|
||||||
uint32_t id = 0;
|
uint32_t id = 0;
|
||||||
|
|
||||||
while (id == 0 || get_dive_site_by_uuid(id))
|
while (id == 0 || get_dive_site_by_uuid(id)) {
|
||||||
id = random() + random();
|
id = rand() & 0xff;
|
||||||
|
id |= (rand() & 0xff) << 8;
|
||||||
|
id |= (rand() & 0xff) << 16;
|
||||||
|
id |= (rand() & 0xff) << 24;
|
||||||
|
}
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue