examples: Work around lack of mingw localtime_r()
mingw lacks localtime_r(); we were getting it from gnulib. But since commit acf522e8 stopped linking examples against gnulib, we are getting a build failure. Keep the examples standalone, and work around mingw by using the non-reentrant localtime() (safe since our examples are single-threaded), and add a necessary exemption to our syntax check. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
414afc8dbe
commit
45b439c3af
2
cfg.mk
2
cfg.mk
@ -1233,7 +1233,7 @@ exclude_file_name_regexp--sc_prohibit_newline_at_end_of_diagnostic = \
|
|||||||
^src/rpc/gendispatch\.pl$$
|
^src/rpc/gendispatch\.pl$$
|
||||||
|
|
||||||
exclude_file_name_regexp--sc_prohibit_nonreentrant = \
|
exclude_file_name_regexp--sc_prohibit_nonreentrant = \
|
||||||
^((po|tests)/|docs/.*(py|js|html\.in)|run.in$$|tools/wireshark/util/genxdrstub\.pl$$)
|
^((po|tests|examples/admin)/|docs/.*(py|js|html\.in)|run.in$$|tools/wireshark/util/genxdrstub\.pl$$)
|
||||||
|
|
||||||
exclude_file_name_regexp--sc_prohibit_select = \
|
exclude_file_name_regexp--sc_prohibit_select = \
|
||||||
^cfg\.mk$$
|
^cfg\.mk$$
|
||||||
|
@ -30,9 +30,13 @@ exampleGetTimeStr(time_t then)
|
|||||||
{
|
{
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
struct tm timeinfo;
|
struct tm timeinfo;
|
||||||
|
struct tm *timeinfop;
|
||||||
|
|
||||||
if (!localtime_r(&then, &timeinfo))
|
/* localtime_r() is smarter, but since mingw lacks it and this
|
||||||
|
* example is single-threaded, we can get away with localtime */
|
||||||
|
if (!(timeinfop = localtime(&then)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
timeinfo = *timeinfop;
|
||||||
|
|
||||||
if (!(ret = calloc(64, sizeof(char))))
|
if (!(ret = calloc(64, sizeof(char))))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -28,9 +28,13 @@ exampleGetTimeStr(time_t then)
|
|||||||
{
|
{
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
struct tm timeinfo;
|
struct tm timeinfo;
|
||||||
|
struct tm *timeinfop;
|
||||||
|
|
||||||
if (!localtime_r(&then, &timeinfo))
|
/* localtime_r() is smarter, but since mingw lacks it and this
|
||||||
|
* example is single-threaded, we can get away with localtime */
|
||||||
|
if (!(timeinfop = localtime(&then)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
timeinfo = *timeinfop;
|
||||||
|
|
||||||
if (!(ret = calloc(64, sizeof(char))))
|
if (!(ret = calloc(64, sizeof(char))))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user