aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/lrand.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib9/lrand.c')
-rw-r--r--src/lib9/lrand.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/lib9/lrand.c b/src/lib9/lrand.c
index 8f536456..3d1b05fe 100644
--- a/src/lib9/lrand.c
+++ b/src/lib9/lrand.c
@@ -63,17 +63,15 @@ p9lrand(void)
lock(&lk);
- rng_tap--;
- if(rng_tap < rng_vec) {
- if(rng_feed == 0) {
+ if(rng_tap <= rng_vec) {
+ if(rng_feed == 0)
isrand(1);
- rng_tap--;
- }
rng_tap += LEN;
}
- rng_feed--;
- if(rng_feed < rng_vec)
+ rng_tap--;
+ if(rng_feed <= rng_vec)
rng_feed += LEN;
+ rng_feed--;
x = (*rng_feed + *rng_tap) & MASK;
*rng_feed = x;