diff options
author | Peter Wemm <peter@FreeBSD.org> | 2014-02-20 19:26:10 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2014-02-20 19:26:10 +0000 |
commit | 219f5ebf8fca3572d8d4265d78d0e4670ca35a27 (patch) | |
tree | e6232088e2faabbf0f1a6e568df3285323f27c5c /subversion/libsvn_subr/sysinfo.c | |
parent | eeb88685bfa4ef1c0639f1136d83ff19de1b4595 (diff) |
Notes
Diffstat (limited to 'subversion/libsvn_subr/sysinfo.c')
-rw-r--r-- | subversion/libsvn_subr/sysinfo.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/subversion/libsvn_subr/sysinfo.c b/subversion/libsvn_subr/sysinfo.c index 7c37822d10a3..a506310aa906 100644 --- a/subversion/libsvn_subr/sysinfo.c +++ b/subversion/libsvn_subr/sysinfo.c @@ -290,11 +290,21 @@ stringbuf_split_key(svn_stringbuf_t *buffer, char delim) return NULL; svn_stringbuf_strip_whitespace(buffer); + + /* Now we split the currently allocated buffer in two parts: + - a const char * HEAD + - the remaining stringbuf_t. */ + + /* Create HEAD as '\0' terminated const char * */ key = buffer->data; end = strchr(key, delim); *end = '\0'; - buffer->len = 1 + end - key; + + /* And update the TAIL to be a smaller, but still valid stringbuf */ buffer->data = end + 1; + buffer->len -= 1 + end - key; + buffer->blocksize -= 1 + end - key; + svn_stringbuf_strip_whitespace(buffer); return key; |