diff options
| author | la-ninpre <leobrekalini@gmail.com> | 2021-11-20 19:00:28 +0000 |
|---|---|---|
| committer | la-ninpre <leobrekalini@gmail.com> | 2021-11-20 19:00:28 +0000 |
| commit | a09dfac1ad042d49ced01d79866878b6ce0a4045 (patch) | |
| tree | 26a59e5f1c6f5ac0ee18ae8b825d27131ce36585 /nimisewi.c | |
| parent | 6cf69cbaacfa8c509cbe541a26dfa119d68845b9 (diff) | |
| download | nimisewi_c-main.tar.gz nimisewi_c-main.zip | |
added new flag to main program, that displays sad version of prompt
removed unnecessary function that sets up random seed for systems where
arc4random is not available
updated readme
FossilOrigin-Name: 1195601f8a81524006e8d3c9014abb26cf613ad995b60455d9553fd7bb50d337
Diffstat (limited to 'nimisewi.c')
| -rw-r--r-- | nimisewi.c | 36 |
1 files changed, 11 insertions, 25 deletions
@@ -64,6 +64,13 @@ nsrand(uint32_t limit) #ifdef HAVE_ARC4RANDOM_UNIFORM return arc4random_uniform(limit); #else + pid_t pid; + struct timeval time; + + gettimeofday(&time, NULL); + pid = getpid(); + srand(pid * time.tv_usec * time.tv_sec); + return rand() % limit; #endif } @@ -79,23 +86,6 @@ catstr(char *dst, const char *src, size_t size) #endif } -static void -open_e_nanpa_sewi(void) -{ - /* initialize pseudorandom generator using pid, microseconds and seconds - * - * for such silly program there's no need to implement cryptographically - * secure random number generator. - */ - - pid_t pid; - struct timeval time; - - gettimeofday(&time, NULL); - pid = getpid(); - srand(pid * time.tv_usec * time.tv_sec); -} - static const char *pana_e_nimi(const int nanpa_nimi) { @@ -147,7 +137,7 @@ nanpa_nimi_pana_e_pi(struct nanpa_nimi *nn) } static struct nanpa_nimi -*pana_e_nanpa_nimi(void) +*pana_e_nanpa_nimi(unsigned int nanpa_nimi_sewi) { /* generate nanpa_nimi with all the values useful for phrase generation * @@ -168,7 +158,7 @@ static struct nanpa_nimi nn->nanpa_sewi_nimi = NULL; nn->suli_pi_nimi_sewi = 0; - nn->nanpa_nimi = (nsrand(6)); + nn->nanpa_nimi = (nsrand(nanpa_nimi_sewi)); /* to use with arbitrary wordlist, remove following function call */ nanpa_nimi_pana_e_pi(nn); @@ -203,17 +193,13 @@ weka_e_nanpa_nimi(struct nanpa_nimi *nn) } char -*nimi_sewi() +*nimi_sewi(unsigned int nanpa_nimi_sewi) { int i; char *nimi_pana; struct nanpa_nimi *nn; -#ifndef HAVE_ARC4RANDOM_UNIFORM - open_e_nanpa_sewi(); -#endif - - nn = pana_e_nanpa_nimi(); + nn = pana_e_nanpa_nimi(nanpa_nimi_sewi); nimi_pana = calloc(nn->suli_pi_nimi_sewi + 1, sizeof(char)); if (nimi_pana == NULL) { |
