date: recognize bogus FreeBSD gmtime output
Most gmtime implementations return a NULL value when they encounter an error (and this behavior is specified by ANSI C and POSIX). FreeBSD's implementation, however, will simply leave the "struct tm" untouched. Let's also recognize this and convert it to a NULL (with this patch, t4212 should pass on FreeBSD). Reported-by: René Scharfe <l.s.r@web.de> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
3f419d45ef
commit
6654754779
@ -697,4 +697,11 @@ void warn_on_inaccessible(const char *path);
|
||||
/* Get the passwd entry for the UID of the current process. */
|
||||
struct passwd *xgetpwuid_self(void);
|
||||
|
||||
#ifdef GMTIME_UNRELIABLE_ERRORS
|
||||
struct tm *git_gmtime(const time_t *);
|
||||
struct tm *git_gmtime_r(const time_t *, struct tm *);
|
||||
#define gmtime git_gmtime
|
||||
#define gmtime_r git_gmtime_r
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user