diff options
| author | Federico G. Schwindt <fgsch@lodoss.net> | 2013-10-16 11:15:27 +0100 |
|---|---|---|
| committer | Federico G. Schwindt <fgsch@lodoss.net> | 2013-10-16 16:32:06 +0100 |
| commit | 17589534d0ccff05463910d1f0ba673d7d1630fd (patch) | |
| tree | fd2d84d25e0219d4e073490541a5ae3eafaf073c /src/tool | |
| parent | ea26fd2840f6c7f286407e86f832d6ec5e93eeeb (diff) | |
| download | ngircd-17589534d0ccff05463910d1f0ba673d7d1630fd.tar.gz ngircd-17589534d0ccff05463910d1f0ba673d7d1630fd.zip | |
Add support for arc4random
If arc4random is present it will be used over the srand/rand interface. This fixes some warnings in OpenBSD-current.
Diffstat (limited to 'src/tool')
| -rw-r--r-- | src/tool/tool.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/tool/tool.c b/src/tool/tool.c index 1bb3ebe6..3b9cc255 100644 --- a/src/tool/tool.c +++ b/src/tool/tool.c @@ -144,11 +144,16 @@ ngt_RandomStr(char *String, const size_t len) assert(String != NULL); gettimeofday(&t, NULL); +#ifndef HAVE_ARC4RANDOM srand((unsigned)(t.tv_usec * t.tv_sec)); for (i = 0; i < len; ++i) { String[i] = chars[rand() % (sizeof(chars) - 1)]; } +#else + for (i = 0; i < len; ++i) + String[i] = chars[arc4random() % (sizeof(chars) - 1)]; +#endif String[len] = '\0'; return String; |