summaryrefslogtreecommitdiff
path: root/patch-ids.h
diff options
context:
space:
mode:
authorLibravatar Pierre Habouzit <madcoder@debian.org>2007-09-06 13:20:05 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2007-09-06 23:57:44 -0700
commitb449f4cfc972929b638b90d375b8960c37790618 (patch)
tree4cc9b5425447e4b34966b033a6326ebb50b1e635 /patch-ids.h
parentMerge branch 'master' of git://repo.or.cz/git/git-p4 (diff)
downloadtgif-b449f4cfc972929b638b90d375b8960c37790618.tar.xz
Rework strbuf API and semantics.
The gory details are explained in strbuf.h. The change of semantics this patch enforces is that the embeded buffer has always a '\0' character after its last byte, to always make it a C-string. The offs-by-one changes are all related to that very change. A strbuf can be used to store byte arrays, or as an extended string library. The `buf' member can be passed to any C legacy string function, because strbuf operations always ensure there is a terminating \0 at the end of the buffer, not accounted in the `len' field of the structure. A strbuf can be used to generate a string/buffer whose final size is not really known, and then "strbuf_detach" can be used to get the built buffer, and keep the wrapping "strbuf" structure usable for further work again. Other interesting feature: strbuf_grow(sb, size) ensure that there is enough allocated space in `sb' to put `size' new octets of data in the buffer. It helps avoiding reallocating data for nothing when the problem the strbuf helps to solve has a known typical size. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'patch-ids.h')
0 files changed, 0 insertions, 0 deletions