diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-03-09 14:33:25 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-03-12 02:08:34 +0100 |
commit | b4f59beeb4c2171879d0d7607a4a7d6165f07791 (patch) | |
tree | c0e7423f6ce12ff9773d1a999fd7feabd462e43b /libavutil/file.c | |
parent | 5d64ba9d18294a305f4f46c9a64e592dc5d34aa9 (diff) | |
download | ffmpeg-b4f59beeb4c2171879d0d7607a4a7d6165f07791.tar.gz |
avutil/file: Move av_tempfile() to avutil/file_open ff_tempfile()
document the issue with av_tempfile()
Tested-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavutil/file.c')
-rw-r--r-- | libavutil/file.c | 48 |
1 files changed, 2 insertions, 46 deletions
diff --git a/libavutil/file.c b/libavutil/file.c index 2a06be4398..25381b17d7 100644 --- a/libavutil/file.c +++ b/libavutil/file.c @@ -137,52 +137,8 @@ void av_file_unmap(uint8_t *bufptr, size_t size) #endif } -int av_tempfile(const char *prefix, char **filename, int log_offset, void *log_ctx) -{ - FileLogContext file_log_ctx = { &file_log_ctx_class, log_offset, log_ctx }; - int fd = -1; -#if !HAVE_MKSTEMP - void *ptr= tempnam(NULL, prefix); - if(!ptr) - ptr= tempnam(".", prefix); - *filename = av_strdup(ptr); -#undef free - free(ptr); -#else - size_t len = strlen(prefix) + 12; /* room for "/tmp/" and "XXXXXX\0" */ - *filename = av_malloc(len); -#endif - /* -----common section-----*/ - if (!*filename) { - av_log(&file_log_ctx, AV_LOG_ERROR, "ff_tempfile: Cannot allocate file name\n"); - return AVERROR(ENOMEM); - } -#if !HAVE_MKSTEMP -# ifndef O_BINARY -# define O_BINARY 0 -# endif -# ifndef O_EXCL -# define O_EXCL 0 -# endif - fd = open(*filename, O_RDWR | O_BINARY | O_CREAT | O_EXCL, 0600); -#else - snprintf(*filename, len, "/tmp/%sXXXXXX", prefix); - fd = mkstemp(*filename); -#ifdef _WIN32 - if (fd < 0) { - snprintf(*filename, len, "./%sXXXXXX", prefix); - fd = mkstemp(*filename); - } -#endif -#endif - /* -----common section-----*/ - if (fd < 0) { - int err = AVERROR(errno); - av_log(&file_log_ctx, AV_LOG_ERROR, "ff_tempfile: Cannot open temporary file %s\n", *filename); - av_freep(filename); - return err; - } - return fd; /* success */ +int av_tempfile(const char *prefix, char **filename, int log_offset, void *log_ctx) { + return avpriv_tempfile(prefix, filename, log_offset, log_ctx); } #ifdef TEST |