time_internal: Prefix fallback versions of gmtime_r/localtime_r with ff_

Use a macro to redirect calling code from the official name to the
ff_ prefixed one.

Detecting these functions in configure can be tricky (on mingw, they
are conditionally available depending on posix feature defines).
If configure didn't detect them, but they still are visible at
compile time (due to an unrelated header defining the posix feature
defines), providing the local fallback versions with a prefixed
name is safer.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2019-04-10 11:39:01 +03:00
parent 9485cce6d5
commit c4642788e8
1 changed files with 4 additions and 2 deletions

View File

@ -23,7 +23,7 @@
#include "config.h"
#if !HAVE_GMTIME_R && !defined(gmtime_r)
static inline struct tm *gmtime_r(const time_t* clock, struct tm *result)
static inline struct tm *ff_gmtime_r(const time_t* clock, struct tm *result)
{
struct tm *ptr = gmtime(clock);
if (!ptr)
@ -31,10 +31,11 @@ static inline struct tm *gmtime_r(const time_t* clock, struct tm *result)
*result = *ptr;
return result;
}
#define gmtime_r ff_gmtime_r
#endif
#if !HAVE_LOCALTIME_R && !defined(localtime_r)
static inline struct tm *localtime_r(const time_t* clock, struct tm *result)
static inline struct tm *ff_localtime_r(const time_t* clock, struct tm *result)
{
struct tm *ptr = localtime(clock);
if (!ptr)
@ -42,6 +43,7 @@ static inline struct tm *localtime_r(const time_t* clock, struct tm *result)
*result = *ptr;
return result;
}
#define localtime_r ff_localtime_r
#endif
#endif /* AVUTIL_TIME_INTERNAL_H */