mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-21 18:03:54 +00:00
filebuf: allow using a custom buffer size
Allow setting the buffer size on open in order to use this data structure more generally as a spill buffer, with larger buffer sizes for specific use-cases.
This commit is contained in:
parent
e50a49ee9b
commit
3fa764edd2
@ -272,6 +272,11 @@ cleanup:
|
||||
}
|
||||
|
||||
int git_filebuf_open(git_filebuf *file, const char *path, int flags, mode_t mode)
|
||||
{
|
||||
return git_filebuf_open_withsize(file, path, flags, mode, WRITE_BUFFER_SIZE);
|
||||
}
|
||||
|
||||
int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mode_t mode, size_t size)
|
||||
{
|
||||
int compression, error = -1;
|
||||
size_t path_len, alloc_len;
|
||||
@ -286,7 +291,7 @@ int git_filebuf_open(git_filebuf *file, const char *path, int flags, mode_t mode
|
||||
if (flags & GIT_FILEBUF_DO_NOT_BUFFER)
|
||||
file->do_not_buffer = true;
|
||||
|
||||
file->buf_size = WRITE_BUFFER_SIZE;
|
||||
file->buf_size = size;
|
||||
file->buf_pos = 0;
|
||||
file->fd = -1;
|
||||
file->last_error = BUFERR_OK;
|
||||
|
@ -79,6 +79,7 @@ int git_filebuf_reserve(git_filebuf *file, void **buff, size_t len);
|
||||
int git_filebuf_printf(git_filebuf *file, const char *format, ...) GIT_FORMAT_PRINTF(2, 3);
|
||||
|
||||
int git_filebuf_open(git_filebuf *lock, const char *path, int flags, mode_t mode);
|
||||
int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mode_t mode, size_t size);
|
||||
int git_filebuf_commit(git_filebuf *lock);
|
||||
int git_filebuf_commit_at(git_filebuf *lock, const char *path);
|
||||
void git_filebuf_cleanup(git_filebuf *lock);
|
||||
|
Loading…
Reference in New Issue
Block a user