1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-28 13:56:37 +02:00

core: merge functions string_hash_binary and string_hash into a single function string_hash

This commit is contained in:
Sébastien Helleu
2020-03-01 16:41:28 +01:00
parent 1ae2591458
commit c4ef3d6c2e
15 changed files with 305 additions and 675 deletions
+12 -37
View File
@@ -3444,54 +3444,29 @@ string_get_hash_algo (const char *hash_algo)
}
/*
* Computes hash data, as binary buffer.
*
* Note: "*hash" must be freed after use.
* Computes hash data.
*/
void
string_hash_binary (const char *data, int length_data, const char *hash_algo,
char **hash, int *length_hash)
int
string_hash (const void *data, int data_size, const char *hash_algo,
void *hash, int *hash_size)
{
int algo;
if (!hash || !length_hash)
return;
if (!hash)
return 0;
*hash = NULL;
*length_hash = 0;
if (hash_size)
*hash_size = 0;
if (!data || (length_data < 1) || !hash_algo)
return;
if (!data || (data_size < 1) || !hash_algo)
return 0;
algo = string_get_hash_algo (hash_algo);
if (algo == GCRY_MD_NONE)
return;
return 0;
secure_hash_binary (data, length_data, algo, hash, length_hash);
}
/*
* Computes hash of a buffer, as text (string with hexadecimal).
*
* Returns a string with the hash as hexadecimal, NULL if error.
*
* Note: result must be freed after use.
*/
char *
string_hash (const char *data, int length_data, const char *hash_algo)
{
int algo;
if (!data || (length_data < 1) || !hash_algo)
return NULL;
algo = string_get_hash_algo (hash_algo);
if (algo == GCRY_MD_NONE)
return NULL;
return secure_hash (data, length_data, algo);
return secure_hash (data, data_size, algo, hash, hash_size);
}
/*