Skip to content
Snippets Groups Projects
Commit 3da822d0 authored by Niels Möller's avatar Niels Möller
Browse files

(find_algorithm): Require exact match.

Rev: nettle/tools/nettle-hash.c:1.2
parent a5cc380b
No related branches found
No related tags found
Loading
...@@ -54,31 +54,14 @@ list_algorithms (void) ...@@ -54,31 +54,14 @@ list_algorithms (void)
static const struct nettle_hash * static const struct nettle_hash *
find_algorithm (const char *name) find_algorithm (const char *name)
{ {
size_t length = strlen (name);
const struct nettle_hash *alg; const struct nettle_hash *alg;
const struct nettle_hash *found = NULL;
unsigned i; unsigned i;
for (i = 0; (alg = nettle_hashes[i]); i++) for (i = 0; (alg = nettle_hashes[i]); i++)
{ if (!strcmp(name, alg->name))
if (!strncmp(name, alg->name, length)) return alg;
{
/* Luckily, no valid algorithm name is a prefix of any return NULL;
other, so we don't need to handle exact matches
specially. */
if (found)
die("Hash algorithm `%s' is ambiguous (%s or %s or ...?).\n"
"Use nettle-hash --list to list all available algorithms.\n",
name, alg->name, found->name);
found = alg;
}
}
if (!found)
die("Hash algorithm `%s' is not supported.\n"
"Use nettle-hash --list to list all available algorithms.\n",
name);
return found;
} }
/* Also in examples/io.c */ /* Also in examples/io.c */
...@@ -143,6 +126,9 @@ digest_file(const struct nettle_hash *alg, ...@@ -143,6 +126,9 @@ digest_file(const struct nettle_hash *alg,
return 1; return 1;
} }
/* FIXME: Be more compatible with md5sum and sha1sum. Options -c
(check), -b (binary), -t (text), and output format with hex hash
sum, optional star (meaning binary mode), and file name. */
int int
main (int argc, char **argv) main (int argc, char **argv)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment