diff options
-rw-r--r-- | include/git2/odb.h | 9 | ||||
-rw-r--r-- | include/git2/sys/odb_backend.h | 3 | ||||
-rw-r--r-- | src/odb.c | 9 |
3 files changed, 17 insertions, 4 deletions
diff --git a/include/git2/odb.h b/include/git2/odb.h index b7dc0c5f3..006a75b7a 100644 --- a/include/git2/odb.h +++ b/include/git2/odb.h @@ -357,11 +357,18 @@ GIT_EXTERN(void) git_odb_stream_free(git_odb_stream *stream); * @see git_odb_stream * * @param out pointer where to store the stream + * @param len pointer where to store the length of the object + * @param type pointer where to store the type of the object * @param db object database where the stream will read from * @param oid oid of the object the stream will read from * @return 0 if the stream was created; error code otherwise */ -GIT_EXTERN(int) git_odb_open_rstream(git_odb_stream **out, git_odb *db, const git_oid *oid); +GIT_EXTERN(int) git_odb_open_rstream( + git_odb_stream **out, + size_t *len, + git_otype *type, + git_odb *db, + const git_oid *oid); /** * Open a stream for writing a pack file to the ODB. diff --git a/include/git2/sys/odb_backend.h b/include/git2/sys/odb_backend.h index 9bcc50ddd..792f103fe 100644 --- a/include/git2/sys/odb_backend.h +++ b/include/git2/sys/odb_backend.h @@ -56,7 +56,8 @@ struct git_odb_backend { git_odb_stream **, git_odb_backend *, git_off_t, git_otype); int (* readstream)( - git_odb_stream **, git_odb_backend *, const git_oid *); + git_odb_stream **, size_t *, git_otype *, + git_odb_backend *, const git_oid *); int (* exists)( git_odb_backend *, const git_oid *); @@ -1396,7 +1396,12 @@ void git_odb_stream_free(git_odb_stream *stream) stream->free(stream); } -int git_odb_open_rstream(git_odb_stream **stream, git_odb *db, const git_oid *oid) +int git_odb_open_rstream( + git_odb_stream **stream, + size_t *len, + git_otype *type, + git_odb *db, + const git_oid *oid) { size_t i, reads = 0; int error = GIT_ERROR; @@ -1409,7 +1414,7 @@ int git_odb_open_rstream(git_odb_stream **stream, git_odb *db, const git_oid *oi if (b->readstream != NULL) { ++reads; - error = b->readstream(stream, b, oid); + error = b->readstream(stream, len, type, b, oid); } } |