wrapper: use a loop instead of repetitive statements
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>
Alex Henrie committed
Sep 30, 2019 at 20:29 UTC
54a80a9ad84af001470ea22fb0a14f6dc844b9c9
1 file changed
+5
-6
wrapper.c
+5
-6
@@ -506,13 +506,12 @@ int git_mkstemps_mode(char *pattern, int suffix_len, int mode)
506
filename_template = &pattern[len - 6 - suffix_len];
507
for (count = 0; count < TMP_MAX; ++count) {
508
uint64_t v = value;
509
+ int i;
510
/* Fill in the random bits. */
510
- filename_template[0] = letters[v % num_letters]; v /= num_letters;
511
- filename_template[1] = letters[v % num_letters]; v /= num_letters;
512
- filename_template[2] = letters[v % num_letters]; v /= num_letters;
513
- filename_template[3] = letters[v % num_letters]; v /= num_letters;
514
- filename_template[4] = letters[v % num_letters]; v /= num_letters;
515
- filename_template[5] = letters[v % num_letters]; v /= num_letters;
511
+ for (i = 0; i < 6; i++) {
512
+ filename_template[i] = letters[v % num_letters];
513
+ v /= num_letters;
514
+ }
515
516
fd = open(pattern, O_CREAT | O_EXCL | O_RDWR, mode);
517
if (fd >= 0)