diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2014-10-01 14:28:32 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-10-02 00:50:01 +0400 |
commit | cf6950d3bfe1447ac04867b1f5654a2fc9c5db96 (patch) | |
tree | 2c99e3011a6e6f27286091a7066fe8c91683bcd1 /read-cache.c | |
parent | 3e88e8fc085bbfad142d51a07ef918b9b5ca1d72 (diff) |
lockfile: change lock_file::filename into a strbuf
For now, we still make sure to allocate at least PATH_MAX characters
for the strbuf because resolve_symlink() doesn't know how to expand
the space for its return value. (That will be fixed in a moment.)
Another alternative would be to just use a strbuf as scratch space in
lock_file() but then store a pointer to the naked string in struct
lock_file. But lock_file objects are often reused. By reusing the
same strbuf, we can avoid having to reallocate the string most times
when a lock_file object is reused.
Helped-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'read-cache.c')
-rw-r--r-- | read-cache.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/read-cache.c b/read-cache.c index af69f344a2..91bf876ee6 100644 --- a/read-cache.c +++ b/read-cache.c @@ -2044,10 +2044,10 @@ static int commit_locked_index(struct lock_file *lk) if (alternate_index_output) { if (close_lock_file(lk)) return -1; - if (rename(lk->filename, alternate_index_output)) + if (rename(lk->filename.buf, alternate_index_output)) return -1; lk->active = 0; - lk->filename[0] = 0; + strbuf_reset(&lk->filename); return 0; } else { return commit_lock_file(lk); |