summaryrefslogtreecommitdiff
path: root/src/commit.c
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2010-05-25 22:30:09 +0200
committerAndreas Ericsson <ae@op5.se>2010-06-02 10:32:07 +0200
commit69dca959508cd04b226b3747c0c07f89f3bd1a87 (patch)
tree6acffa8eb2a20e3391b5f64c961d7176315f1c1f /src/commit.c
parent82b1db3b35e34c87862172bf3f4705c4aca8cc98 (diff)
downloadlibgit2-69dca959508cd04b226b3747c0c07f89f3bd1a87.tar.gz
Fixed parsing commit times (they weren't being stored at all!)
Signed-off-by: Vicent Marti <tanoku@gmail.com> Signed-off-by: Andreas Ericsson <ae@op5.se>
Diffstat (limited to 'src/commit.c')
-rw-r--r--src/commit.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/commit.c b/src/commit.c
index 2e3e1ba4b..53d25eef4 100644
--- a/src/commit.c
+++ b/src/commit.c
@@ -132,12 +132,19 @@ int git_commit__parse_time(time_t *commit_time, char *buffer, const char *buffer
if (memcmp(buffer, "committer ", 10) != 0)
return -1;
- buffer = memchr(buffer, '\n', buffer_end - buffer);
+ buffer = memchr(buffer, '>', buffer_end - buffer);
if (buffer == 0 || ++buffer >= buffer_end)
return -1;
*commit_time = strtol(buffer, &buffer, 10);
+ if (*commit_time == 0)
+ return -1;
+
+ buffer = memchr(buffer, '\n', buffer_end - buffer);
+ if (buffer == 0 || ++buffer >= buffer_end)
+ return -1;
+
return (buffer < buffer_end) ? 0 : -1;
}