summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2019-12-06 18:22:58 +1100
committerEdward Thomson <ethomson@edwardthomson.com>2020-01-24 09:54:29 -0600
commitd68f2b1ab7aa7358f8ff0b75b72054bb9eeced3d (patch)
tree8ba09c1727c292a72455053508825b0ee8d8c0ac
parente995f74e8822456f97a2000da5a8d6803b88f643 (diff)
downloadlibgit2-d68f2b1ab7aa7358f8ff0b75b72054bb9eeced3d.tar.gz
buf: add consume_bytes
Allow users to consume a buffer by the number of bytes, not just to an ending pointer.
-rw-r--r--src/buffer.c5
-rw-r--r--src/buffer.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 61cf9675b..328fdfe7f 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -567,6 +567,11 @@ void git_buf_copy_cstr(char *data, size_t datasize, const git_buf *buf)
data[copylen] = '\0';
}
+void git_buf_consume_bytes(git_buf *buf, size_t len)
+{
+ git_buf_consume(buf, buf->ptr + len);
+}
+
void git_buf_consume(git_buf *buf, const char *end)
{
if (end > buf->ptr && end <= buf->ptr + buf->size) {
diff --git a/src/buffer.h b/src/buffer.h
index 7910b6338..6b717d2e9 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -113,6 +113,7 @@ int git_buf_puts(git_buf *buf, const char *string);
int git_buf_printf(git_buf *buf, const char *format, ...) GIT_FORMAT_PRINTF(2, 3);
int git_buf_vprintf(git_buf *buf, const char *format, va_list ap);
void git_buf_clear(git_buf *buf);
+void git_buf_consume_bytes(git_buf *buf, size_t len);
void git_buf_consume(git_buf *buf, const char *end);
void git_buf_truncate(git_buf *buf, size_t len);
void git_buf_shorten(git_buf *buf, size_t amount);