1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis */
2 /* SPDX-License-Identifier: Unlicense */
3 #include "tomcrypt_private.h"
4 
5 /**
6   @file crypt_find_hash.c
7   Find a hash, Tom St Denis
8 */
9 
10 /**
11    Find a registered hash by name
12    @param name   The name of the hash to look for
13    @return >= 0 if found, -1 if not present
14 */
find_hash(const char * name)15 int find_hash(const char *name)
16 {
17    int x;
18    LTC_ARGCHK(name != NULL);
19    LTC_MUTEX_LOCK(&ltc_hash_mutex);
20    for (x = 0; x < TAB_SIZE; x++) {
21        if (hash_descriptor[x] != NULL && XSTRCMP(hash_descriptor[x]->name, name) == 0) {
22           LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
23           return x;
24        }
25    }
26    LTC_MUTEX_UNLOCK(&ltc_hash_mutex);
27    return -1;
28 }
29