buffer: add git_buf_consume

Moves the content after 'end' to the beginning of the buffer

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
This commit is contained in:
Carlos Martín Nieto 2011-09-05 21:38:56 +02:00
parent b87600cb6b
commit c7c3051328
2 changed files with 8 additions and 0 deletions

View File

@ -98,3 +98,10 @@ void git_buf_clear(git_buf *buf)
{ {
buf->size = 0; buf->size = 0;
} }
void git_buf_consume(git_buf *buf, const char *end)
{
size_t consumed = end - buf->ptr;
memmove(buf->ptr, end, buf->size - consumed);
buf->size -= consumed;
}

View File

@ -19,6 +19,7 @@ void git_buf_printf(git_buf *buf, const char *format, ...) GIT_FORMAT_PRINTF(2,
const char *git_buf_cstr(git_buf *buf); const char *git_buf_cstr(git_buf *buf);
void git_buf_free(git_buf *buf); void git_buf_free(git_buf *buf);
void git_buf_clear(git_buf *buf); void git_buf_clear(git_buf *buf);
void git_buf_consume(git_buf *buf, const char *end);
#define git_buf_PUTS(buf, str) git_buf_put(buf, str, sizeof(str) - 1) #define git_buf_PUTS(buf, str) git_buf_put(buf, str, sizeof(str) - 1)