path: remove redundant function calls

repo_settings_get_shared_repository() is invoked multiple times in
calc_shared_perm(). While the function internally caches the value,
repeated calls still add unnecessary noise.

Store the result in a local variable and reuse it instead. This makes
it explicit that the value is expected to remain constant and avoids
repeated calls in the same scope.

Signed-off-by: K Jayatheerth <jayatheerthkulkarni2005@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
K Jayatheerth
2026-03-04 18:35:02 +05:30
committed by Junio C Hamano
parent 61d0b79e4c
commit b22ed4c4f9

10
path.c
View File

@@ -741,18 +741,18 @@ int calc_shared_perm(struct repository *repo,
int mode)
{
int tweak;
if (repo_settings_get_shared_repository(repo) < 0)
tweak = -repo_settings_get_shared_repository(repo);
int shared_repo = repo_settings_get_shared_repository(repo);
if (shared_repo < 0)
tweak = -shared_repo;
else
tweak = repo_settings_get_shared_repository(repo);
tweak = shared_repo;
if (!(mode & S_IWUSR))
tweak &= ~0222;
if (mode & S_IXUSR)
/* Copy read bits to execute bits */
tweak |= (tweak & 0444) >> 2;
if (repo_settings_get_shared_repository(repo) < 0)
if (shared_repo < 0)
mode = (mode & ~0777) | tweak;
else
mode |= tweak;