]> git.ipfire.org Git - thirdparty/git.git/commitdiff
wrapper: use a loop instead of repetitive statements
authorAlex Henrie <alexhenrie24@gmail.com>
Tue, 1 Oct 2019 02:29:36 +0000 (20:29 -0600)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Oct 2019 06:04:23 +0000 (15:04 +0900)
A check into the history of this code revealed no particular reason for
the code to be written in this way. All popular compilers are capable of
unrolling loops if it benefits performance, and once this code is
replaced with a loop, the magic number 6 used in multiple places in this
function can be replaced with a named constant.

Reviewed-by: Derrick Stolee <stolee@gmail.com>
Reviewed-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
wrapper.c

index 1e45ab7b92749b653484f522701f5d86521b03c7..54541386c15aa2a76f8ea71116951debe392e24c 100644 (file)
--- a/wrapper.c
+++ b/wrapper.c
@@ -506,13 +506,12 @@ int git_mkstemps_mode(char *pattern, int suffix_len, int mode)
        filename_template = &pattern[len - 6 - suffix_len];
        for (count = 0; count < TMP_MAX; ++count) {
                uint64_t v = value;
+               int i;
                /* Fill in the random bits. */
-               filename_template[0] = letters[v % num_letters]; v /= num_letters;
-               filename_template[1] = letters[v % num_letters]; v /= num_letters;
-               filename_template[2] = letters[v % num_letters]; v /= num_letters;
-               filename_template[3] = letters[v % num_letters]; v /= num_letters;
-               filename_template[4] = letters[v % num_letters]; v /= num_letters;
-               filename_template[5] = letters[v % num_letters]; v /= num_letters;
+               for (i = 0; i < 6; i++) {
+                       filename_template[i] = letters[v % num_letters];
+                       v /= num_letters;
+               }
 
                fd = open(pattern, O_CREAT | O_EXCL | O_RDWR, mode);
                if (fd >= 0)