summaryrefslogtreecommitdiff
path: root/libavutil/file.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-03-09 14:33:25 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-03-12 02:08:34 +0100
commitb4f59beeb4c2171879d0d7607a4a7d6165f07791 (patch)
treec0e7423f6ce12ff9773d1a999fd7feabd462e43b /libavutil/file.c
parent5d64ba9d18294a305f4f46c9a64e592dc5d34aa9 (diff)
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.c48
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