summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 100690b)
raw | patch | inline | side by side (parent: 100690b)
author | Linus Torvalds <torvalds@osdl.org> | |
Thu, 28 Sep 2006 19:12:28 +0000 (12:12 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Fri, 29 Sep 2006 01:23:25 +0000 (18:23 -0700) |
Our approxidate cannot handle simple times like "5 PM yesterday", and to
fix that, we will need to add some logic for number handling. This just
splits that out into a function of its own (the same way the _real_ date
parsing works).
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
fix that, we will need to add some logic for number handling. This just
splits that out into a function of its own (the same way the _real_ date
parsing works).
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
date.c | patch | blob | history |
index e387dcd3976d8e12afdce5d7600ca0022f4ca835..4ff6604a09045789ca6abcdc0396fdc4467e1101 100644 (file)
--- a/date.c
+++ b/date.c
@@ -712,6 +712,15 @@ static const char *approxidate_alpha(const char *date, struct tm *tm, int *num)
return end;
}
+static const char *approxidate_digit(const char *date, struct tm *tm, int *num)
+{
+ char *end;
+ unsigned long number = strtoul(date, &end, 10);
+
+ *num = number;
+ return end;
+}
+
unsigned long approxidate(const char *date)
{
int number = 0;
break;
date++;
if (isdigit(c)) {
- char *end;
- number = strtoul(date-1, &end, 10);
- date = end;
+ date = approxidate_digit(date-1, &tm, &number);
continue;
}
if (isalpha(c))