[FFmpeg-cvslog] time_internal: Prefix fallback versions of gmtime_r/localtime_r with ff_

Martin Storsjö git at videolan.org
Thu May 2 19:55:26 EEST 2019


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed Apr 10 11:39:01 2019 +0300| [c4642788e83b0858bca449f9b6e71ddb015dfa5d] | committer: Martin Storsjö

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 at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c4642788e83b0858bca449f9b6e71ddb015dfa5d
---

 libavutil/time_internal.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavutil/time_internal.h b/libavutil/time_internal.h
index d0597db050..8e647fdc16 100644
--- a/libavutil/time_internal.h
+++ b/libavutil/time_internal.h
@@ -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 */



More information about the ffmpeg-cvslog mailing list