42 static int win32_open(
const char *filename_utf8,
int oflag,
int pmode)
48 if (utf8towchar(filename_utf8, &filename_w))
53 fd = _wsopen(filename_w, oflag, SH_DENYNO, pmode);
56 if (fd != -1 || (oflag & O_CREAT))
61 return _sopen(filename_utf8, oflag, SH_DENYNO, pmode);
63 #define open win32_open
69 unsigned int mode = 0;
74 mode = va_arg(ap,
unsigned int);
87 if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1)
110 int avpriv_tempfile(
const char *prefix,
char **filename,
int log_offset,
void *log_ctx)
115 void *ptr= tempnam(
NULL, prefix);
117 ptr= tempnam(
".", prefix);
122 size_t len = strlen(prefix) + 12;
137 fd = open(*filename, O_RDWR | O_BINARY | O_CREAT | O_EXCL, 0600);
140 fd = mkstemp(*filename);
141 #if defined(_WIN32) || defined (__ANDROID__) || defined(__DJGPP__)
144 fd = mkstemp(*filename);
151 av_log(&file_log_ctx,
AV_LOG_ERROR,
"ff_tempfile: Cannot open temporary file %s\n", *filename);
162 const char *m =
mode;
165 case 'r': access = O_RDONLY;
break;
166 case 'w': access = O_CREAT|O_WRONLY|O_TRUNC;
break;
167 case 'a': access = O_CREAT|O_WRONLY|O_APPEND;
break;
174 access &= ~(O_RDONLY | O_WRONLY);
176 }
else if (*m ==
'b') {
189 return fdopen(fd,
mode);
#define flags(name, subs,...)
mode
Use these values in ebur128_init (or'ed).
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
const char * av_default_item_name(void *ptr)
Return the context name.
char * av_strdup(const char *s)
Duplicate a string.
FILE * av_fopen_utf8(const char *path, const char *mode)
Open a file using a UTF-8 filename.
#define LIBAVUTIL_VERSION_INT
static const AVClass file_log_ctx_class
int avpriv_tempfile(const char *prefix, char **filename, int log_offset, void *log_ctx)
Wrapper to work around the lack of mkstemp() on mingw.
int avpriv_open(const char *filename, int flags,...)
A wrapper for open() setting O_CLOEXEC.
common internal API header
Memory handling functions.
Describe the class of an AVClass context structure.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...