mirror of
https://git.proxmox.com/git/libgit2
synced 2025-07-24 01:50:16 +00:00
Add helpful buffer shorten function
This commit is contained in:
parent
c61300eda9
commit
278ce7468d
@ -259,6 +259,15 @@ void git_buf_truncate(git_buf *buf, size_t len)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void git_buf_shorten(git_buf *buf, size_t amount)
|
||||||
|
{
|
||||||
|
if (amount > buf->size)
|
||||||
|
amount = buf->size;
|
||||||
|
|
||||||
|
buf->size = buf->size - amount;
|
||||||
|
buf->ptr[buf->size] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
void git_buf_rtruncate_at_char(git_buf *buf, char separator)
|
void git_buf_rtruncate_at_char(git_buf *buf, char separator)
|
||||||
{
|
{
|
||||||
ssize_t idx = git_buf_rfind_next(buf, separator);
|
ssize_t idx = git_buf_rfind_next(buf, separator);
|
||||||
|
@ -91,6 +91,7 @@ int git_buf_vprintf(git_buf *buf, const char *format, va_list ap);
|
|||||||
void git_buf_clear(git_buf *buf);
|
void git_buf_clear(git_buf *buf);
|
||||||
void git_buf_consume(git_buf *buf, const char *end);
|
void git_buf_consume(git_buf *buf, const char *end);
|
||||||
void git_buf_truncate(git_buf *buf, size_t len);
|
void git_buf_truncate(git_buf *buf, size_t len);
|
||||||
|
void git_buf_shorten(git_buf *buf, size_t amount);
|
||||||
void git_buf_rtruncate_at_char(git_buf *path, char separator);
|
void git_buf_rtruncate_at_char(git_buf *path, char separator);
|
||||||
|
|
||||||
int git_buf_join_n(git_buf *buf, char separator, int nbuf, ...);
|
int git_buf_join_n(git_buf *buf, char separator, int nbuf, ...);
|
||||||
|
@ -1395,7 +1395,7 @@ static int parse_multiline_variable(diskfile_backend *cfg, git_buf *value, int i
|
|||||||
* standard, this character **has** to be last one in the buf, with
|
* standard, this character **has** to be last one in the buf, with
|
||||||
* no whitespace after it */
|
* no whitespace after it */
|
||||||
assert(is_multiline_var(value->ptr));
|
assert(is_multiline_var(value->ptr));
|
||||||
git_buf_truncate(value, git_buf_len(value) - 1);
|
git_buf_shorten(value, 1);
|
||||||
|
|
||||||
proc_line = fixup_line(line, in_quotes);
|
proc_line = fixup_line(line, in_quotes);
|
||||||
if (proc_line == NULL) {
|
if (proc_line == NULL) {
|
||||||
|
@ -602,7 +602,7 @@ int git_indexer_stream_finalize(git_indexer_stream *idx, git_transfer_progress *
|
|||||||
git_vector_sort(&idx->objects);
|
git_vector_sort(&idx->objects);
|
||||||
|
|
||||||
git_buf_sets(&filename, idx->pack->pack_name);
|
git_buf_sets(&filename, idx->pack->pack_name);
|
||||||
git_buf_truncate(&filename, filename.size - strlen("pack"));
|
git_buf_shorten(&filename, strlen("pack"));
|
||||||
git_buf_puts(&filename, "idx");
|
git_buf_puts(&filename, "idx");
|
||||||
if (git_buf_oom(&filename))
|
if (git_buf_oom(&filename))
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user