mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Move code from jid_random_resource() into own function
Move the code that creates a random string into it's own function +get_random_string().
This commit is contained in:
parent
1e09a055ca
commit
f9eb302a59
20
src/common.c
20
src/common.c
@ -489,3 +489,23 @@ get_file_paths_recursive(const char *path, GSList **contents)
|
||||
entry = g_dir_read_name(directory);
|
||||
}
|
||||
}
|
||||
|
||||
char*
|
||||
get_random_string(int length)
|
||||
{
|
||||
GRand *prng;
|
||||
char *rand;
|
||||
char alphabet[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
|
||||
rand = calloc(length+1, sizeof(char));
|
||||
|
||||
prng = g_rand_new();
|
||||
|
||||
int i;
|
||||
for (i = 0; i < length; i++) {
|
||||
rand[i] = alphabet[g_rand_int_range(prng, 0, sizeof(alphabet))];
|
||||
}
|
||||
g_rand_free(prng);
|
||||
|
||||
return rand;
|
||||
}
|
||||
|
@ -103,4 +103,6 @@ int is_regular_file(const char *path);
|
||||
int is_dir(const char *path);
|
||||
void get_file_paths_recursive(const char *directory, GSList **contents);
|
||||
|
||||
char* get_random_string(int length);
|
||||
|
||||
#endif
|
||||
|
@ -198,18 +198,10 @@ jid_fulljid_or_barejid(Jid *jid)
|
||||
char*
|
||||
jid_random_resource(void)
|
||||
{
|
||||
GRand *prng;
|
||||
char rand[5];
|
||||
char alphabet[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
char *rand = get_random_string(4);
|
||||
|
||||
prng = g_rand_new();
|
||||
gchar *result = g_strdup_printf("profanity.%s", rand);
|
||||
free(rand);
|
||||
|
||||
int i;
|
||||
for (i = 0; i < 4; i++) {
|
||||
rand[i] = alphabet[g_rand_int_range(prng, 0, sizeof(alphabet))];
|
||||
}
|
||||
rand[4] = '\0';
|
||||
g_rand_free(prng);
|
||||
|
||||
return g_strdup_printf("profanity.%s", rand);
|
||||
return result;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user