From: Willy Tarreau Date: Wed, 19 Jul 2017 17:08:48 +0000 (+0200) Subject: BUILD: lua: replace timegm() with my_timegm() to fix build on Solaris 10 X-Git-Tag: v1.8-dev3~223 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abd9bb20b76818c9f461a82b72b10818736ff8b3;p=thirdparty%2Fhaproxy.git BUILD: lua: replace timegm() with my_timegm() to fix build on Solaris 10 Akhnin Nikita reported that Lua doesn't build on Solaris 10 because the code uses timegm() to parse a date, which is not provided there. The recommended way to implement timegm() is broken in the man page, as it is based on a change of the TZ environment variable at run time before calling the function (which is obviously not thread safe, and terribly inefficient). Here instead we rely on the new my_timegm() function, it should be sufficient for all known use cases. --- diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c index 8406bfe5fb..db46279d3e 100644 --- a/src/hlua_fcn.c +++ b/src/hlua_fcn.c @@ -287,7 +287,7 @@ static int hlua_parse_date(lua_State *L, int (*fcn)(const char *, int, struct tm * the timezone from the broken-down time, it must be fixed * after the conversion. */ - time = timegm(&tm); + time = my_timegm(&tm); if (time == -1) { lua_pushnil(L); return 1;