]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin/gc: don't peek into `struct lock_file`
authorMartin Ågren <martin.agren@gmail.com>
Tue, 5 Jan 2021 19:23:46 +0000 (20:23 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Jan 2021 21:53:32 +0000 (13:53 -0800)
A `struct lock_file` is pretty much just a wrapper around a tempfile.
But it's easy enough to avoid relying on this. Use the wrappers that the
lock file API provides rather than peeking at the temp file or even into
*its* internals.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Reviewed-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/gc.c

index 4c24f418520a6072ccea8fcd101643f735ac5e9d..64f2b52d6e2cf24d205fb956c77e9839a4ba6fe0 100644 (file)
@@ -92,7 +92,7 @@ static void process_log_file(void)
                 */
                int saved_errno = errno;
                fprintf(stderr, _("Failed to fstat %s: %s"),
-                       get_tempfile_path(log_lock.tempfile),
+                       get_lock_file_path(&log_lock),
                        strerror(saved_errno));
                fflush(stderr);
                commit_lock_file(&log_lock);
@@ -1518,7 +1518,7 @@ static int update_background_schedule(int run_maintenance)
        strvec_split(&crontab_list.args, crontab_name);
        strvec_push(&crontab_list.args, "-l");
        crontab_list.in = -1;
-       crontab_list.out = dup(lk.tempfile->fd);
+       crontab_list.out = dup(get_lock_file_fd(&lk));
        crontab_list.git_cmd = 0;
 
        if (start_command(&crontab_list)) {
@@ -1533,7 +1533,7 @@ static int update_background_schedule(int run_maintenance)
         * Read from the .lock file, filtering out the old
         * schedule while appending the new schedule.
         */
-       cron_list = fdopen(lk.tempfile->fd, "r");
+       cron_list = fdopen(get_lock_file_fd(&lk), "r");
        rewind(cron_list);
 
        strvec_split(&crontab_edit.args, crontab_name);