repositories
/
deb_ffmpeg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Debian version 2.5.0~trusty1.1
[deb_ffmpeg.git]
/
ffmpeg
/
libavutil
/
file_open.c
diff --git
a/ffmpeg/libavutil/file_open.c
b/ffmpeg/libavutil/file_open.c
index f3164ebe6846d19e6240b4d826d4cc185d5b6d5d..3f9a67c3fcf2622b5915c7ec374036fed9a171b7 100644
(file)
--- a/
ffmpeg/libavutil/file_open.c
+++ b/
ffmpeg/libavutil/file_open.c
@@
-37,23
+37,18
@@
#include <windows.h>
#include <share.h>
#include <errno.h>
#include <windows.h>
#include <share.h>
#include <errno.h>
+#include "wchar_filename.h"
static int win32_open(const char *filename_utf8, int oflag, int pmode)
{
int fd;
static int win32_open(const char *filename_utf8, int oflag, int pmode)
{
int fd;
- int num_chars;
wchar_t *filename_w;
/* convert UTF-8 to wide chars */
wchar_t *filename_w;
/* convert UTF-8 to wide chars */
- num_chars = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filename_utf8, -1, NULL, 0);
- if (num_chars <= 0)
- goto fallback;
- filename_w = av_mallocz_array(num_chars, sizeof(wchar_t));
- if (!filename_w) {
- errno = ENOMEM;
+ if (utf8towchar(filename_utf8, &filename_w))
return -1;
return -1;
- }
-
MultiByteToWideChar(CP_UTF8, 0, filename_utf8, -1, filename_w, num_chars)
;
+ if (!filename_w)
+
goto fallback
;
fd = _wsopen(filename_w, oflag, SH_DENYNO, pmode);
av_freep(&filename_w);
fd = _wsopen(filename_w, oflag, SH_DENYNO, pmode);
av_freep(&filename_w);