diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2015-05-12 13:06:33 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2015-05-13 09:34:20 +0200 |
commit | 77b339f7b6c7e167ecaf9374eb6876b498d8cb83 (patch) | |
tree | 2067451017501f2d2411442370a71997c715e52b /src/blob.c | |
parent | f85a9c2767b43f35904bf39858488a4b7bc304e8 (diff) | |
download | libgit2-cmn/stream-size.tar.gz |
odb: make the writestream's size a git_off_tcmn/stream-size
Restricting files to size_t is a silly limitation. The loose backend
writes to a file directly, so there is no issue in using 63 bits for the
size.
We still assume that the header is going to fit in 64 bytes, which does
mean quite a bit smaller files due to the run-length encoding, but it's
still a much larger size than you would want Git to handle.
Diffstat (limited to 'src/blob.c')
-rw-r--r-- | src/blob.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/blob.c b/src/blob.c index 47216507b..07c4d92c8 100644 --- a/src/blob.c +++ b/src/blob.c @@ -76,10 +76,11 @@ static int write_file_stream( int fd, error; char buffer[FILEIO_BUFSIZE]; git_odb_stream *stream = NULL; - ssize_t read_len = -1, written = 0; + ssize_t read_len = -1; + git_off_t written = 0; if ((error = git_odb_open_wstream( - &stream, odb, (size_t)file_size, GIT_OBJ_BLOB)) < 0) + &stream, odb, file_size, GIT_OBJ_BLOB)) < 0) return error; if ((fd = git_futils_open_ro(path)) < 0) { |