1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-09 00:00:04 +01:00

http: date: use timegm

This commit is contained in:
Andy Green 2021-08-01 08:55:34 +01:00
parent 5f31ff8383
commit a7e4724a5e
3 changed files with 11 additions and 0 deletions

View file

@ -561,6 +561,7 @@ CHECK_FUNCTION_EXISTS(getgrgid_r LWS_HAVE_GETGRGID_R)
CHECK_FUNCTION_EXISTS(getgrnam_r LWS_HAVE_GETGRNAM_R)
CHECK_FUNCTION_EXISTS(getpwuid_r LWS_HAVE_GETPWUID_R)
CHECK_FUNCTION_EXISTS(getpwnam_r LWS_HAVE_GETPWNAM_R)
CHECK_FUNCTION_EXISTS(timegm LWS_HAVE_TIMEGM)
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
if(CMAKE_OSX_DEPLOYMENT_TARGET LESS "10.12")

View file

@ -99,6 +99,7 @@
#cmakedefine LWS_HAVE__STAT32I64
#cmakedefine LWS_HAVE_STDINT_H
#cmakedefine LWS_HAVE_SYS_CAPABILITY_H
#cmakedefine LWS_HAVE_TIMEGM
#cmakedefine LWS_HAVE_TLS_CLIENT_METHOD
#cmakedefine LWS_HAVE_TLSV1_2_CLIENT_METHOD
#cmakedefine LWS_HAVE_SUSECONDS_T

View file

@ -139,7 +139,16 @@ lws_http_date_parse_unix(const char *b, size_t len, time_t *t)
if (lws_http_date_parse(b, len, &tm))
return -1;
#if defined(WIN32)
*t = _mkgmtime(&tm);
#else
#if defined(LWS_HAVE_TIMEGM)
*t = timegm(&tm);
#else
/* this is a poor fallback since it uses localtime zone */
*t = mktime(&tm);
#endif
#endif
return (int)*t == -1 ? -1 : 0;
}