X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Ftool%2Ftool.c;h=31c6fb41fb9272f5b4abd5e6713b12d359fb5387;hp=ef3fb5d73467355782698aa0b5c78ac44b50bad1;hb=49385a98b2878ae6f19dd0925e0dc90fcc3d6372;hpb=b9e6cb3e556730f74464026a33d6904ffd340874 diff --git a/src/tool/tool.c b/src/tool/tool.c index ef3fb5d7..31c6fb41 100644 --- a/src/tool/tool.c +++ b/src/tool/tool.c @@ -20,7 +20,9 @@ #include #include #include +#include #include +#include #include @@ -129,6 +131,34 @@ ngt_TrimLastChr( char *String, const char Chr) } /* ngt_TrimLastChr */ +/** + * Fill a String with random chars + */ +GLOBAL char * +ngt_RandomStr( char *String, const size_t len) +{ + assert(String != NULL); + + static const char chars[] = + "0123456789ABCDEFGHIJKLMNO" + "PQRSTUVWXYZabcdefghijklmn" + "opqrstuvwxyz!\"#$&'()*+,-" + "./:;<=>?@[\\]^_`"; + + struct timeval t; + gettimeofday(&t, NULL); + srand(t.tv_usec * t.tv_sec); + + for (size_t i = 0; i < len; ++i) { + String[i] = chars[rand() % (sizeof(chars) - 1)]; + } + + String[len] = '\0'; + + return String; +} /* ngt_RandomStr */ + + #ifdef SYSLOG