summaryrefslogtreecommitdiff
path: root/src/revparse.c
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2013-04-15 23:32:40 +0200
committerVicent Marti <tanoku@gmail.com>2013-04-15 23:32:40 +0200
commit36c2dfed696f80a20ca1352f32ec8b136b800c30 (patch)
tree99faf618d89ca3ee182331449df9ee5fd4b3c2f8 /src/revparse.c
parentd064c74794f51e759cd84648f84f2609d3283ecc (diff)
downloadlibgit2-36c2dfed696f80a20ca1352f32ec8b136b800c30.tar.gz
Is this crazy?
Diffstat (limited to 'src/revparse.c')
-rw-r--r--src/revparse.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/revparse.c b/src/revparse.c
index d2c14ccbb..a4fedd27c 100644
--- a/src/revparse.c
+++ b/src/revparse.c
@@ -870,47 +870,43 @@ cleanup:
int git_revparse(
- git_object **left,
- git_object **right,
- unsigned int *flags,
- git_repository *repo,
- const char *spec)
+ git_revision *revision,
+ git_repository *repo,
+ const char *spec)
{
- unsigned int lflags = 0;
const char *dotdot;
int error = 0;
- assert(left && repo && spec);
+ assert(revision && repo && spec);
+
+ memset(revision, 0x0, sizeof(*revision));
if ((dotdot = strstr(spec, "..")) != NULL) {
char *lstr;
const char *rstr;
- lflags = GIT_REVPARSE_RANGE;
+ revision->flags = GIT_REVPARSE_RANGE;
- lstr = git__substrdup(spec, dotdot-spec);
+ lstr = git__substrdup(spec, dotdot - spec);
rstr = dotdot + 2;
if (dotdot[2] == '.') {
- lflags |= GIT_REVPARSE_MERGE_BASE;
+ revision->flags |= GIT_REVPARSE_MERGE_BASE;
rstr++;
}
- if ((error = git_revparse_single(left, repo, lstr)) < 0) {
+ if ((error = git_revparse_single(&revision->from, repo, lstr)) < 0) {
return error;
}
- if (right &&
- (error = git_revparse_single(right, repo, rstr)) < 0) {
+
+ if ((error = git_revparse_single(&revision->to, repo, rstr)) < 0) {
return error;
}
git__free((void*)lstr);
} else {
- lflags = GIT_REVPARSE_SINGLE;
- error = git_revparse_single(left, repo, spec);
+ revision->flags = GIT_REVPARSE_SINGLE;
+ error = git_revparse_single(&revision->from, repo, spec);
}
- if (flags)
- *flags = lflags;
-
return error;
}