From 37eb9542f93ebc480b3a6fde7e656f132d17beea Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sat, 16 Nov 2019 17:12:16 +0000 Subject: [PATCH] rand/dsarand.c: Return the old number of passes from `DSARAND_PASSES'. Also, don't update if the input operand is zero. --- rand/dsarand.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/rand/dsarand.c b/rand/dsarand.c index 70ffaf81..a4328aa8 100644 --- a/rand/dsarand.c +++ b/rand/dsarand.c @@ -282,9 +282,11 @@ static int gmisc(grand *r, unsigned op, ...) grand *rr = va_arg(ap, grand *); rr->ops->fill(rr, g->d.p, g->d.sz); } break; - case DSARAND_PASSES: - g->d.passes = va_arg(ap, unsigned); - break; + case DSARAND_PASSES: { + unsigned n = va_arg(ap, unsigned); + rc = g->d.passes; + if (n > 0) g->d.passes = n; + } break; case DSARAND_SEEDSZ: rc = g->d.sz; break; -- 2.11.0