diff options
Diffstat (limited to 'mastoapi.c')
| -rw-r--r-- | mastoapi.c | 14 |
1 files changed, 2 insertions, 12 deletions
| @@ -10,6 +10,7 @@ | |||
| 10 | #include "xs_time.h" | 10 | #include "xs_time.h" |
| 11 | #include "xs_glob.h" | 11 | #include "xs_glob.h" |
| 12 | #include "xs_set.h" | 12 | #include "xs_set.h" |
| 13 | #include "xs_random.h" | ||
| 13 | 14 | ||
| 14 | #include "snac.h" | 15 | #include "snac.h" |
| 15 | 16 | ||
| @@ -17,19 +18,8 @@ static xs_str *random_str(void) | |||
| 17 | /* just what is says in the tin */ | 18 | /* just what is says in the tin */ |
| 18 | { | 19 | { |
| 19 | unsigned int data[4] = {0}; | 20 | unsigned int data[4] = {0}; |
| 20 | FILE *f; | ||
| 21 | |||
| 22 | if ((f = fopen("/dev/random", "r")) != NULL) { | ||
| 23 | fread(data, sizeof(data), 1, f); | ||
| 24 | fclose(f); | ||
| 25 | } | ||
| 26 | else { | ||
| 27 | data[0] = random() % 0xffffffff; | ||
| 28 | data[1] = random() % 0xffffffff; | ||
| 29 | data[2] = random() % 0xffffffff; | ||
| 30 | data[3] = random() % 0xffffffff; | ||
| 31 | } | ||
| 32 | 21 | ||
| 22 | xs_rnd_buf(data, sizeof(data)); | ||
| 33 | return xs_hex_enc((char *)data, sizeof(data)); | 23 | return xs_hex_enc((char *)data, sizeof(data)); |
| 34 | } | 24 | } |
| 35 | 25 | ||