diff options
Diffstat (limited to 'src/librandom/rrandom_name.c')
| -rw-r--r-- | src/librandom/rrandom_name.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/librandom/rrandom_name.c b/src/librandom/rrandom_name.c new file mode 100644 index 0000000..5e77e83 --- /dev/null +++ b/src/librandom/rrandom_name.c @@ -0,0 +1,13 @@ +/* ISC license. */ + +#include <skalibs/unirandom.h> +#include <skalibs/rrandom.h> + +unsigned int rrandom_name (rrandom_ref z, char *s, unsigned int n, int nb) +{ + static char const *oklist = "ABCDEFGHIJKLMNOPQRSTUVWXYZghijklmnopqrstuvwxyz-_0123456789abcdef" ; + register unsigned int r = rrandom_read(z, s, n, nb ? &unirandom_readnb : &unirandom_readb) ; + register unsigned int i = 0 ; + for (; i < r ; i++) s[i] = oklist[s[i] & 63] ; + return r ; +} |
