зеркало из https://github.com/microsoft/git.git
lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
We are about to move those members, so change client code to read them through accessor functions. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
e54c347c1c
Коммит
c99a4c2db3
|
@ -52,7 +52,7 @@ static void print_entry(struct credential *c)
|
|||
static void print_line(struct strbuf *buf)
|
||||
{
|
||||
strbuf_addch(buf, '\n');
|
||||
write_or_die(credential_lock.fd, buf->buf, buf->len);
|
||||
write_or_die(get_lock_file_fd(&credential_lock), buf->buf, buf->len);
|
||||
}
|
||||
|
||||
static void rewrite_credential_file(const char *fn, struct credential *c,
|
||||
|
|
14
lockfile.c
14
lockfile.c
|
@ -364,6 +364,20 @@ FILE *fdopen_lock_file(struct lock_file *lk, const char *mode)
|
|||
return lk->fp;
|
||||
}
|
||||
|
||||
int get_lock_file_fd(struct lock_file *lk)
|
||||
{
|
||||
if (!lk->active)
|
||||
die("BUG: get_lock_file_fd() called for unlocked object");
|
||||
return lk->fd;
|
||||
}
|
||||
|
||||
FILE *get_lock_file_fp(struct lock_file *lk)
|
||||
{
|
||||
if (!lk->active)
|
||||
die("BUG: get_lock_file_fp() called for unlocked object");
|
||||
return lk->fp;
|
||||
}
|
||||
|
||||
char *get_locked_file_path(struct lock_file *lk)
|
||||
{
|
||||
if (!lk->active)
|
||||
|
|
|
@ -203,6 +203,9 @@ extern NORETURN void unable_to_lock_die(const char *path, int err);
|
|||
*/
|
||||
extern FILE *fdopen_lock_file(struct lock_file *lk, const char *mode);
|
||||
|
||||
extern int get_lock_file_fd(struct lock_file *lk);
|
||||
extern FILE *get_lock_file_fp(struct lock_file *lk);
|
||||
|
||||
/*
|
||||
* Return the path of the file that is locked by the specified
|
||||
* lock_file object. The caller must free the memory.
|
||||
|
|
|
@ -2112,7 +2112,7 @@ static int commit_locked_index(struct lock_file *lk)
|
|||
static int do_write_locked_index(struct index_state *istate, struct lock_file *lock,
|
||||
unsigned flags)
|
||||
{
|
||||
int ret = do_write_index(istate, lock->fd, 0);
|
||||
int ret = do_write_index(istate, get_lock_file_fd(lock), 0);
|
||||
if (ret)
|
||||
return ret;
|
||||
assert((flags & (COMMIT_LOCK | CLOSE_LOCK)) !=
|
||||
|
|
12
refs.c
12
refs.c
|
@ -3162,6 +3162,7 @@ static int write_ref_to_lockfile(struct ref_lock *lock,
|
|||
{
|
||||
static char term = '\n';
|
||||
struct object *o;
|
||||
int fd;
|
||||
|
||||
o = parse_object(sha1);
|
||||
if (!o) {
|
||||
|
@ -3178,8 +3179,9 @@ static int write_ref_to_lockfile(struct ref_lock *lock,
|
|||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
if (write_in_full(lock->lk->fd, sha1_to_hex(sha1), 40) != 40 ||
|
||||
write_in_full(lock->lk->fd, &term, 1) != 1 ||
|
||||
fd = get_lock_file_fd(lock->lk);
|
||||
if (write_in_full(fd, sha1_to_hex(sha1), 40) != 40 ||
|
||||
write_in_full(fd, &term, 1) != 1 ||
|
||||
close_ref(lock) < 0) {
|
||||
int save_errno = errno;
|
||||
error("Couldn't write %s", lock->lk->filename.buf);
|
||||
|
@ -4264,10 +4266,10 @@ int reflog_expire(const char *refname, const unsigned char *sha1,
|
|||
status |= error("couldn't write %s: %s", log_file,
|
||||
strerror(errno));
|
||||
} else if (update &&
|
||||
(write_in_full(lock->lk->fd,
|
||||
(write_in_full(get_lock_file_fd(lock->lk),
|
||||
sha1_to_hex(cb.last_kept_sha1), 40) != 40 ||
|
||||
write_str_in_full(lock->lk->fd, "\n") != 1 ||
|
||||
close_ref(lock) < 0)) {
|
||||
write_str_in_full(get_lock_file_fd(lock->lk), "\n") != 1 ||
|
||||
close_ref(lock) < 0)) {
|
||||
status |= error("couldn't write %s",
|
||||
lock->lk->filename.buf);
|
||||
rollback_lock_file(&reflog_lock);
|
||||
|
|
Загрузка…
Ссылка в новой задаче