]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t/helper/test-hash.c: use unsafe_hash_algo()
authorTaylor Blau <me@ttaylorr.com>
Thu, 23 Jan 2025 17:34:36 +0000 (12:34 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 23 Jan 2025 18:28:17 +0000 (10:28 -0800)
Remove a series of conditionals within the shared cmd_hash_impl() helper
that powers the 'sha1' and 'sha1-unsafe' helpers.

Instead, replace them with a single conditional that transforms the
specified hash algorithm into its unsafe variant. Then all subsequent
calls can directly use whatever function it wants to call without having
to decide between the safe and unsafe variants.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/helper/test-hash.c

index d0ee668df9574cc3be890f2f340d43c5e7254232..aa82638c621ea21f969832c37e1823b279a4138a 100644 (file)
@@ -9,6 +9,8 @@ int cmd_hash_impl(int ac, const char **av, int algo, int unsafe)
        int binary = 0;
        char *buffer;
        const struct git_hash_algo *algop = &hash_algos[algo];
+       if (unsafe)
+               algop = unsafe_hash_algo(algop);
 
        if (ac == 2) {
                if (!strcmp(av[1], "-b"))
@@ -27,10 +29,7 @@ int cmd_hash_impl(int ac, const char **av, int algo, int unsafe)
                        die("OOPS");
        }
 
-       if (unsafe)
-               algop->unsafe_init_fn(&ctx);
-       else
-               algop->init_fn(&ctx);
+       algop->init_fn(&ctx);
 
        while (1) {
                ssize_t sz, this_sz;
@@ -49,15 +48,9 @@ int cmd_hash_impl(int ac, const char **av, int algo, int unsafe)
                }
                if (this_sz == 0)
                        break;
-               if (unsafe)
-                       algop->unsafe_update_fn(&ctx, buffer, this_sz);
-               else
-                       algop->update_fn(&ctx, buffer, this_sz);
+               algop->update_fn(&ctx, buffer, this_sz);
        }
-       if (unsafe)
-               algop->unsafe_final_fn(hash, &ctx);
-       else
-               algop->final_fn(hash, &ctx);
+       algop->final_fn(hash, &ctx);
 
        if (binary)
                fwrite(hash, 1, algop->rawsz, stdout);