parse_date(): allow const date string

This is part of breaking up the tag ID patch by Eric Biederman.
This commit is contained in:
Linus Torvalds 2005-07-12 10:33:06 -07:00
parent ced7c84821
commit 26a2d8ae89
2 changed files with 5 additions and 5 deletions

View File

@ -208,7 +208,7 @@ extern void *read_object_with_reference(const unsigned char *sha1,
unsigned char *sha1_ret); unsigned char *sha1_ret);
const char *show_date(unsigned long time, int timezone); const char *show_date(unsigned long time, int timezone);
void parse_date(char *date, char *buf, int bufsize); void parse_date(const char *date, char *buf, int bufsize);
void datestamp(char *buf, int bufsize); void datestamp(char *buf, int bufsize);
static inline void *xmalloc(size_t size) static inline void *xmalloc(size_t size)

8
date.c
View File

@ -224,7 +224,7 @@ static int is_date(int year, int month, int day, struct tm *tm)
return 0; 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; 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? * 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; int n;
char *end; char *end;
@ -361,7 +361,7 @@ static int match_digit(char *date, struct tm *tm, int *offset, int *tm_gmt)
return n; return n;
} }
static int match_tz(char *date, int *offp) static int match_tz(const char *date, int *offp)
{ {
char *end; char *end;
int offset = strtoul(date+1, &end, 10); 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 /* 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. */ (i.e. English) day/month names, and it doesn't work correctly with %z. */
void parse_date(char *date, char *result, int maxlen) void parse_date(const char *date, char *result, int maxlen)
{ {
struct tm tm; struct tm tm;
int offset, sign, tm_gmt; int offset, sign, tm_gmt;