summaryrefslogtreecommitdiff
path: root/builtin/var.c
diff options
context:
space:
mode:
authorLibravatar Nguyễn Thái Ngọc Duy <pclouds@gmail.com>2010-12-15 22:02:42 +0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2011-02-03 14:08:16 -0800
commit48932677d62e426b3f26ac236384cb5195fb9dfd (patch)
treed58115641e35cc305af9b5f48e6fcf39f5cfee35 /builtin/var.c
parentglossary: define pathspec (diff)
downloadtgif-48932677d62e426b3f26ac236384cb5195fb9dfd.tar.xz
diff-tree: convert base+baselen to writable strbuf
In traversing trees, a full path is splitted into two parts: base directory and entry. They are however quite often concatenated whenever a full path is needed. Current code allocates a new buffer, do two memcpy(), use it, then release. Instead this patch turns "base" to a writable, extendable buffer. When a concatenation is needed, the callee only needs to append "entry" to base, use it, then truncate the entry out again. "base" must remain unchanged before and after entering a function. This avoids quite a bit of malloc() and memcpy(). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/var.c')
0 files changed, 0 insertions, 0 deletions