diff --git a/configure b/configure index 50be51d383..fd887b4df2 100755 --- a/configure +++ b/configure @@ -673,6 +673,7 @@ HAVE_LIST=" machine_ioctl_meteor_h malloc_h memalign + mkstemp mlib ppc64 sdl @@ -1507,6 +1508,8 @@ fi check_header byteswap.h +check_func mkstemp + check_header arpa/inet.h check_func inet_aton diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 4d6ed7777c..cd2037884d 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -34,7 +34,7 @@ #include #include #include -#ifdef __MINGW32__ +#if !defined(HAVE_MKSTEMP) #include #endif @@ -1333,7 +1333,7 @@ unsigned int av_xiphlacing(unsigned char *s, unsigned int v) * and opened file name in **filename. */ int av_tempfile(char *prefix, char **filename) { int fd=-1; -#ifdef __MINGW32__ +#if !defined(HAVE_MKSTEMP) *filename = tempnam(".", prefix); #else size_t len = strlen(prefix) + 12; /* room for "/tmp/" and "XXXXXX\0" */ @@ -1344,7 +1344,7 @@ int av_tempfile(char *prefix, char **filename) { av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot allocate file name\n"); return -1; } -#ifdef __MINGW32__ +#if !defined(HAVE_MKSTEMP) fd = open(*filename, _O_RDWR | _O_BINARY | _O_CREAT, 0444); #else snprintf(*filename, len, "/tmp/%sXXXXXX", prefix);