diff options
author | Zhao Zhili <zhilizhao@tencent.com> | 2024-06-30 18:33:18 +0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2024-07-16 22:50:21 +0800 |
commit | e713a2d85dad51705a892243170dfbe929b6515a (patch) | |
tree | 378f9038d1d8c085f17aa785770c9b1b9f69285a | |
parent | 3002310b707071ec7aa671ab7428feed5ee9740c (diff) | |
download | ffmpeg-e713a2d85dad51705a892243170dfbe929b6515a.tar.gz |
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 <zhilizhao@tencent.com>
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | libavutil/file_open.c | 8 |
2 files changed, 7 insertions, 3 deletions
@@ -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) { |