ffmpeg | branch: master | Zhao Zhili <zhiliz...@tencent.com> | Sun Jun 30 
18:33:18 2024 +0800| [e713a2d85dad51705a892243170dfbe929b6515a] | committer: 
Zhao Zhili

avutil/file_open: Fix build error with wasi

Don't assume tempnam is available when !HAVE_MKSTEMP. Check tempnam
explicitly in configure.

Signed-off-by: Zhao Zhili <zhiliz...@tencent.com>

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

 configure             | 2 ++
 libavutil/file_open.c | 8 +++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index f84fefeaab..e1a1744da9 100755
--- a/configure
+++ b/configure
@@ -2414,6 +2414,7 @@ SYSTEM_FUNCS="
     sysconf
     sysctl
     sysctlbyname
+    tempnam
     usleep
     UTGetOSTypeFromString
     VirtualAlloc
@@ -6554,6 +6555,7 @@ check_struct "sys/stat.h" "struct stat" st_mtim.tv_nsec 
-D_BSD_SOURCE
 check_func  strerror_r
 check_func  sysconf
 check_func  sysctl
+check_func  tempnam
 check_func  usleep
 
 check_func_headers conio.h kbhit
diff --git a/libavutil/file_open.c b/libavutil/file_open.c
index 24ef33e3da..4692035d55 100644
--- a/libavutil/file_open.c
+++ b/libavutil/file_open.c
@@ -112,7 +112,10 @@ int avpriv_tempfile(const char *prefix, char **filename, 
int log_offset, void *l
 {
     FileLogContext file_log_ctx = { &file_log_ctx_class, log_offset, log_ctx };
     int fd = -1;
-#if !HAVE_MKSTEMP
+#if HAVE_MKSTEMP
+    size_t len = strlen(prefix) + 12; /* room for "/tmp/" and "XXXXXX\0" */
+    *filename  = av_malloc(len);
+#elif HAVE_TEMPNAM
     void *ptr= tempnam(NULL, prefix);
     if(!ptr)
         ptr= tempnam(".", prefix);
@@ -120,8 +123,7 @@ int avpriv_tempfile(const char *prefix, char **filename, 
int log_offset, void *l
 #undef free
     free(ptr);
 #else
-    size_t len = strlen(prefix) + 12; /* room for "/tmp/" and "XXXXXX\0" */
-    *filename  = av_malloc(len);
+    return AVERROR(ENOSYS);
 #endif
     /* -----common section-----*/
     if (!*filename) {

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to