Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-03-13 23:48:07 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-03-13 23:48:07 +0400
commitdcbfa25bc8903fbffb563c6e0f5c89d94ea27ed3 (patch)
treedd5944eb1da4ac16d7a1c54de9c7ee39054e4f8b /intern/utfconv
parent962865d19f4bd8639ac6c2064a3c82e5674e7802 (diff)
Fix #34551: blender crash rendering with save buffers.
Problem was the new usage of access() on Windows, this doesn't accept X_OK. Also wrapped _waccess so that UTF-8 paths work.
Diffstat (limited to 'intern/utfconv')
-rw-r--r--intern/utfconv/utf_winfunc.c14
-rw-r--r--intern/utfconv/utf_winfunc.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/intern/utfconv/utf_winfunc.c b/intern/utfconv/utf_winfunc.c
index 74e57894ccf..3d7fb11309a 100644
--- a/intern/utfconv/utf_winfunc.c
+++ b/intern/utfconv/utf_winfunc.c
@@ -75,6 +75,20 @@ int uopen(const char *filename, int oflag, int pmode)
return f;
}
+int uaccess(const char *filename, int mode)
+{
+ int r = -1;
+ UTF16_ENCODE(filename);
+
+ if (filename_16) {
+ r = _waccess(filename_16, mode);
+ }
+
+ UTF16_UN_ENCODE(filename);
+
+ return r;
+}
+
int urename(const char *oldname, const char *newname )
{
int r = -1;
diff --git a/intern/utfconv/utf_winfunc.h b/intern/utfconv/utf_winfunc.h
index e92e7953cfc..45f6844af5a 100644
--- a/intern/utfconv/utf_winfunc.h
+++ b/intern/utfconv/utf_winfunc.h
@@ -32,6 +32,7 @@
FILE * ufopen(const char * filename, const char * mode);
int uopen(const char *filename, int oflag, int pmode);
+int uaccess(const char *filename, int mode);
int urename(const char *oldname, const char *newname );
char * u_alloc_getenv(const char *varname);