X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a..bd6d65e32b835551677456bf286d09ced6859882:/rand/dsarand.c diff --git a/rand/dsarand.c b/rand/dsarand.c index 9b18ab06..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; @@ -310,7 +312,8 @@ static const grand_ops gops = { "dsarand", 0, 0, gmisc, gdestroy, - grand_word, grand_byte, grand_word, grand_range, gfill + grand_defaultword, grand_defaultbyte, grand_defaultword, + grand_defaultrange, gfill }; /* --- @dsarand_create@ --- *