Age | Commit message (Collapse) | Author | Lines |
|
Quoting glibc rand(3):
The versions of rand() and srand() in the Linux C Library use the same random
number generator as random(3) and srandom(3), so the lower-order bits should be
as random as the higher-order bits. However, on older rand()
implementations, and on current implementations on different systems, the
lower-order bits are much less random than the higher-order bits. Do not use
this function in applications intended to be portable when good randomness is
needed. (Use random(3) instead.)
|
|
Fixes non-random behaviour when randomizing file lists several times per
second.
Closes #349
|
|
|
|
Note that the i == r check was never reached in the original code but may be
in the new variant. Since a shuffled list may well have one or two elements
retain their absolute position once in a while, this should not be a problem.
tests with 2- and 3-element lists show an even distribution amongst all
elements.
|
|
Not all functions were examined yet. Also TODO:
* check strdup / malloc calls (some are apparently unchecked in giblib),
maybe use estrdup / emalloc for those
* Check includes and update dependency list if needed
|
|
|