summaryrefslogtreecommitdiff
path: root/include/git2
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2017-12-17 01:12:49 +0000
committerEdward Thomson <ethomson@edwardthomson.com>2018-02-01 16:35:49 -0800
commit97f9a5f0bca920e2ce260b17fa7cea0a2c0991ca (patch)
tree9aeb6275e1e0c5e6e55b19fbabcd878b9100d402 /include/git2
parentc74e9271012454dd46d3b8004b145129bd50cc04 (diff)
downloadlibgit2-97f9a5f0bca920e2ce260b17fa7cea0a2c0991ca.tar.gz
odb: provide length and type with streaming read
The streaming read functionality should provide the length and the type of the object, like the normal read functionality does.
Diffstat (limited to 'include/git2')
-rw-r--r--include/git2/odb.h9
-rw-r--r--include/git2/sys/odb_backend.h3
2 files changed, 10 insertions, 2 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 *);