[PATCH] Make the git-fsck-objects diagnostics more useful
[git.git] / date.c
diff --git a/date.c b/date.c
index 8ec6d0b..8d7b2eb 100644 (file)
--- a/date.c
+++ b/date.c
@@ -224,7 +224,7 @@ static int is_date(int year, int month, int day, struct tm *tm)
        return 0;
 }
 
-static int match_multi_number(unsigned long num, char c, char *date, char *end, struct tm *tm)
+static int match_multi_number(unsigned long num, char c, const char *date, char *end, struct tm *tm)
 {
        long num2, num3;
 
@@ -270,7 +270,7 @@ static int match_multi_number(unsigned long num, char c, char *date, char *end,
 /*
  * We've seen a digit. Time? Year? Date? 
  */
-static int match_digit(char *date, struct tm *tm, int *offset, int *tm_gmt)
+static int match_digit(const char *date, struct tm *tm, int *offset, int *tm_gmt)
 {
        int n;
        char *end;
@@ -361,7 +361,7 @@ static int match_digit(char *date, struct tm *tm, int *offset, int *tm_gmt)
        return n;
 }
 
-static int match_tz(char *date, int *offp)
+static int match_tz(const char *date, int *offp)
 {
        char *end;
        int offset = strtoul(date+1, &end, 10);
@@ -388,7 +388,7 @@ static int match_tz(char *date, int *offp)
 
 /* Gr. strptime is crap for this; it doesn't have a way to require RFC2822
    (i.e. English) day/month names, and it doesn't work correctly with %z. */
-void parse_date(char *date, char *result, int maxlen)
+int parse_date(const char *date, char *result, int maxlen)
 {
        struct tm tm;
        int offset, sign, tm_gmt;
@@ -431,7 +431,7 @@ void parse_date(char *date, char *result, int maxlen)
                offset = (then - mktime(&tm)) / 60;
 
        if (then == -1)
-               return;
+               return -1;
 
        if (!tm_gmt)
                then -= offset * 60;
@@ -442,7 +442,7 @@ void parse_date(char *date, char *result, int maxlen)
                sign = '-';
        }
 
-       snprintf(result, maxlen, "%lu %c%02d%02d", then, sign, offset/60, offset % 60);
+       return snprintf(result, maxlen, "%lu %c%02d%02d", then, sign, offset/60, offset % 60);
 }
 
 void datestamp(char *buf, int bufsize)