Skip to content

Commit 54a80a9

Browse files
alexhenriegitster
authored andcommitted
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>
1 parent baed6bb commit 54a80a9

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

wrapper.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -506,13 +506,12 @@ int git_mkstemps_mode(char *pattern, int suffix_len, int mode)
506506
filename_template = &pattern[len - 6 - suffix_len];
507507
for (count = 0; count < TMP_MAX; ++count) {
508508
uint64_t v = value;
509+
int i;
509510
/* 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+
}
516515

517516
fd = open(pattern, O_CREAT | O_EXCL | O_RDWR, mode);
518517
if (fd >= 0)

0 commit comments

Comments
 (0)