time_internal: Prefix fallback versions of gmtime_r/localtime_r with ff_ master github/master gitlab/master videolan/master
authorMartin Storsjö <martin@martin.st>
Wed, 10 Apr 2019 08:39:01 +0000 (11:39 +0300)
committerMartin Storsjö <martin@martin.st>
Tue, 16 Apr 2019 10:12:29 +0000 (13:12 +0300)
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>
libavutil/time_internal.h

index d0597db..8e647fd 100644 (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 */