pike.git
/
src
/
post_modules
/
Nettle
/
nettle.cmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/post_modules/Nettle/nettle.cmod:348:
INCREMENT(16, THIS->ctr); } /*! @decl string(8bit) random_string(int(0..) len) *! *! Generates @[len] amount of pseudo random data. In contrast with *! the Fortuna PseudoRandomData function, which only allows 2^20 *! bytes of random data per call, the necessary rekey operations *! are here performed internally, so no such restrictions apply. */
-
PIKEFUN string(8bit) random_string(int
(0..)
len)
+
PIKEFUN string(8bit) random_string(int len)
{ unsigned stored = 0; struct string_builder s;
-
+
+
if(len<0) Pike_error("Length has to be positive.\n");
init_string_builder_alloc(&s, len+16, 0); while( stored < len ) { fortuna_generate(); string_builder_binary_strcat(&s, (const char *)THIS->data, MINIMUM(16, (len-stored))); /* This should really be MINIMUM(16, (len-stored)) instead of 16, but it is only less than 16 in the last round, so it