root/compat/gmtime.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. git_gmtime
  2. git_gmtime_r

#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;
}

/* [<][>][^][v][top][bottom][index][help] */