summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2018-09-17 14:39:58 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2018-09-17 14:39:58 +0200
commit46f35127b6fcfab87cb80d1b772ac7c662eafd38 (patch)
tree678e0e48312e3a343163fb432b9e5d4c831d67a2
parentbc34cb63ff5b2bc51bcdec7dfc41202dfc34e97f (diff)
downloadlibgit2-46f35127b6fcfab87cb80d1b772ac7c662eafd38.tar.gz
revwalk: use the max value for a signed integer
When porting, we overlooked that the difference between git's and our's time representation and copied their way of getting the max value. Unfortunately git was using unsigned integers, so `~0ll` does correspond to their max value, whereas for us it corresponds to `-1`. This means that we always consider the last date to be smaller than the current commit's and always think commits are interesting. Change the initial value to the macro that gives us the maximum value on each platform so we can accurately consider commits interesting or not.
-rw-r--r--src/revwalk.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/revwalk.c b/src/revwalk.c
index da84a4471..d6c6fdb1b 100644
--- a/src/revwalk.c
+++ b/src/revwalk.c
@@ -405,7 +405,7 @@ static int still_interesting(git_commit_list *list, int64_t time, int slop)
static int limit_list(git_commit_list **out, git_revwalk *walk, git_commit_list *commits)
{
int error, slop = SLOP;
- int64_t time = ~0ll;
+ int64_t time = INT64_MAX;
git_commit_list *list = commits;
git_commit_list *newlist = NULL;
git_commit_list **p = &newlist;