]> git.ipfire.org Git - thirdparty/git.git/commitdiff
packfile: pass `repository` to static function in the file
authorKarthik Nayak <karthik.188@gmail.com>
Tue, 3 Dec 2024 14:43:57 +0000 (15:43 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 3 Dec 2024 23:21:54 +0000 (08:21 +0900)
Some of the static functions in the `packfile.c` access global
variables, which can simply be avoided by passing the `repository`
struct down to them. Let's do that.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
packfile.c

index 5bfa1e17c2e2a624587c44c5cb0b9c9a14d6c5fb..c96ebc4c694146b841b63f90654be81433873fd1 100644 (file)
@@ -460,13 +460,13 @@ static void find_lru_pack(struct packed_git *p, struct packed_git **lru_p, struc
        *accept_windows_inuse = has_windows_inuse;
 }
 
-static int close_one_pack(void)
+static int close_one_pack(struct repository *r)
 {
        struct packed_git *p, *lru_p = NULL;
        struct pack_window *mru_w = NULL;
        int accept_windows_inuse = 1;
 
-       for (p = the_repository->objects->packed_git; p; p = p->next) {
+       for (p = r->objects->packed_git; p; p = p->next) {
                if (p->pack_fd == -1)
                        continue;
                find_lru_pack(p, &lru_p, &mru_w, &accept_windows_inuse);
@@ -555,7 +555,7 @@ static int open_packed_git_1(struct packed_git *p)
                        pack_max_fds = 1;
        }
 
-       while (pack_max_fds <= pack_open_fds && close_one_pack())
+       while (pack_max_fds <= pack_open_fds && close_one_pack(p->repo))
                ; /* nothing */
 
        p->pack_fd = git_open(p->pack_name);
@@ -610,7 +610,8 @@ static int open_packed_git(struct packed_git *p)
        return -1;
 }
 
-static int in_window(struct pack_window *win, off_t offset)
+static int in_window(struct repository *r, struct pack_window *win,
+                    off_t offset)
 {
        /* We must promise at least one full hash after the
         * offset is available from this window, otherwise the offset
@@ -620,7 +621,7 @@ static int in_window(struct pack_window *win, off_t offset)
         */
        off_t win_off = win->offset;
        return win_off <= offset
-               && (offset + the_hash_algo->rawsz) <= (win_off + win->len);
+               && (offset + r->hash_algo->rawsz) <= (win_off + win->len);
 }
 
 unsigned char *use_pack(struct packed_git *p,
@@ -642,11 +643,11 @@ unsigned char *use_pack(struct packed_git *p,
        if (offset < 0)
                die(_("offset before end of packfile (broken .idx?)"));
 
-       if (!win || !in_window(win, offset)) {
+       if (!win || !in_window(p->repo, win, offset)) {
                if (win)
                        win->inuse_cnt--;
                for (win = p->windows; win; win = win->next) {
-                       if (in_window(win, offset))
+                       if (in_window(p->repo, win, offset))
                                break;
                }
                if (!win) {