unsigned char *sha1_ret);
const char *show_date(unsigned long time, int timezone);
-void parse_date(const char *date, char *buf, int bufsize);
+int parse_date(const char *date, char *buf, int bufsize);
void datestamp(char *buf, int bufsize);
extern int setup_ident(void);
/* 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(const char *date, char *result, int maxlen)
+int parse_date(const char *date, char *result, int maxlen)
{
struct tm tm;
int offset, sign, tm_gmt;
offset = (then - mktime(&tm)) / 60;
if (then == -1)
- return;
+ return -1;
if (!tm_gmt)
then -= offset * 60;
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)