int main(int argc, char *argv[]) { unsigned char *seed; unsigned int ix, num = 1; pid_t pid; if(argc > 1) { num = atoi(argv[1]); if(num <= 0) num = 1; } pid = getpid(); srand(time(NULL) * (unsigned int)pid); /* Not a perfect seed, but not bad */ seed = malloc(bbs_seed_size); for(ix = 0; ix < bbs_seed_size; ix++) { seed[ix] = rand() % UCHAR_MAX; } bbs_srand(seed, bbs_seed_size); memset(seed, 0, bbs_seed_size); free(seed); while(num-- > 0) { ix = bbs_rand(); printf("%u\n", ix); } return 0; }
int main(void) { unsigned int seed, result, ix; seed = time(NULL); bbs_srand((unsigned char *)&seed, sizeof(seed)); for(ix = 0; ix < NUM_TESTS; ix++) { result = bbs_rand(); printf("Test %3u: %08X\n", ix + 1, result); } return 0; }