]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(find_algorithm): Require exact match.
authorNiels Möller <nisse@lysator.liu.se>
Wed, 27 Apr 2011 19:21:16 +0000 (21:21 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Wed, 27 Apr 2011 19:21:16 +0000 (21:21 +0200)
Rev: nettle/tools/nettle-hash.c:1.2

tools/nettle-hash.c

index 2874bb970d114adc40bcc75a6a2e8802f3ace0c8..061eb78d48d7231d63b23b5d92ded3f471d55e18 100644 (file)
@@ -54,31 +54,14 @@ list_algorithms (void)
 static const struct nettle_hash *
 find_algorithm (const char *name)
 {
-  size_t length = strlen (name);
   const struct nettle_hash *alg;
-  const struct nettle_hash *found = NULL;
   unsigned i;
   
   for (i = 0; (alg = nettle_hashes[i]); i++)
-    {
-      if (!strncmp(name, alg->name, length))
-       {
-         /* Luckily, no valid algorithm name is a prefix of any
-            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;
+    if (!strcmp(name, alg->name))
+      return alg;
+
+  return NULL;
 }
 
 /* Also in examples/io.c */
@@ -143,6 +126,9 @@ digest_file(const struct nettle_hash *alg,
   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
 main (int argc, char **argv)
 {