delete_ref_loose(): derive loose reference path from lock
[gitweb.git] / refs / files-backend.c
index 39d6f5b78268a9f496c3283fc22f0256311b9054..4d5536458bf2bb047bfda8c111b75bab0028a9c0 100644 (file)
@@ -2430,10 +2430,7 @@ static int delete_ref_loose(struct ref_lock *lock, int flag, struct strbuf *err)
                 * loose.  The loose file name is the same as the
                 * lockfile name, minus ".lock":
                 */
-               char *loose_filename = get_locked_file_path(lock->lk);
-               int res = unlink_or_msg(loose_filename, err);
-               free(loose_filename);
-               if (res)
+               if (unlink_or_msg(git_path("%s", lock->ref_name), err))
                        return 1;
        }
        return 0;