Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
This commit is contained in:
commit
1b593e1ea4
3629 changed files with 1139935 additions and 0 deletions
29
compat/gmtime.c
Normal file
29
compat/gmtime.c
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#include "../git-compat-util.h"
|
||||
#undef gmtime
|
||||
#undef gmtime_r
|
||||
|
||||
struct tm *git_gmtime(const time_t *timep)
|
||||
{
|
||||
static struct tm result;
|
||||
return git_gmtime_r(timep, &result);
|
||||
}
|
||||
|
||||
struct tm *git_gmtime_r(const time_t *timep, struct tm *result)
|
||||
{
|
||||
struct tm *ret;
|
||||
|
||||
memset(result, 0, sizeof(*result));
|
||||
ret = gmtime_r(timep, result);
|
||||
|
||||
/*
|
||||
* Rather than NULL, FreeBSD gmtime simply leaves the "struct tm"
|
||||
* untouched when it encounters overflow. Since "mday" cannot otherwise
|
||||
* be zero, we can test this very quickly.
|
||||
*/
|
||||
if (ret && !ret->tm_mday) {
|
||||
ret = NULL;
|
||||
errno = EOVERFLOW;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue