OSDN Git Service

Add a check for strptime().
authorAnton Khirnov <anton@khirnov.net>
Wed, 13 Jul 2011 07:30:06 +0000 (09:30 +0200)
committerAnton Khirnov <anton@khirnov.net>
Wed, 13 Jul 2011 10:14:27 +0000 (12:14 +0200)
It's an XSI extension, not available on some supported systems.

configure
libavformat/utils.c

index 02bcd09..596b603 100755 (executable)
--- a/configure
+++ b/configure
@@ -1105,6 +1105,7 @@ HAVE_LIST="
     poll_h
     setrlimit
     strerror_r
+    strptime
     strtok_r
     struct_addrinfo
     struct_ipv6_mreq
@@ -2775,6 +2776,7 @@ check_func  mmap
 check_func  ${malloc_prefix}posix_memalign      && enable posix_memalign
 check_func  setrlimit
 check_func  strerror_r
+check_func  strptime
 check_func  strtok_r
 check_func_headers io.h setmode
 check_func_headers lzo/lzo1x.h lzo1x_999_compress
index bb12e24..7e79922 100644 (file)
@@ -3887,7 +3887,13 @@ void ff_make_absolute_url(char *buf, int size, const char *base,
 
 int64_t ff_iso8601_to_unix_time(const char *datestr)
 {
+#if HAVE_STRPTIME
     struct tm time = {0};
     strptime(datestr, "%Y - %m - %dT%T", &time);
     return mktime(&time);
+#else
+    av_log(NULL, AV_LOG_WARNING, "strptime() unavailable on this system, cannot convert "
+                                 "the date string.\n");
+    return 0;
+#endif
 }