From 77f357728f708dd7a19a62110f34fa9afa5e9213 Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Mon, 23 Jun 2014 10:07:06 +0900 Subject: D605: Fixes for proper handling of wchar_t paths in MinGW. * Fixed different not-in-sync #ifdef blocks for struct stat variants under Windows. Comments have been left to indicate the portions of BLI_fileops.h and BLI_fileops_types.h that need to stay in sync. * Added BLI_wstat() to de-duplicate #ifdef blocks for stat() variants on Windows. * Fix for opendir() and associate functions in MinGW not working properly with non-ASCII, MBCS-compatible paths. MinGW (FREE_WINDOWS) has opendir() and _wopendir(), and only the latter accepts a path name of wchar_t type. Rather than messing up with extra #ifdef's here and there, Blender's own implementations of opendir() and related functions are used to properly support paths with non-ASCII, MBCS-compatible characters. Tested with MSVC 2013 Express, MinGW32 (gcc 4.6.2) and MinGW-w64 (gcc 4.7.1). Differential Revision: https://developer.blender.org/D605 Reviewed By: campbellbarton --- source/blender/blenlib/BLI_winstuff.h | 5 ----- 1 file changed, 5 deletions(-) (limited to 'source/blender/blenlib/BLI_winstuff.h') diff --git a/source/blender/blenlib/BLI_winstuff.h b/source/blender/blenlib/BLI_winstuff.h index f615e5a9300..f40359ec3dc 100644 --- a/source/blender/blenlib/BLI_winstuff.h +++ b/source/blender/blenlib/BLI_winstuff.h @@ -125,10 +125,6 @@ typedef long ssize_t; # endif #endif - -#ifdef FREE_WINDOWS -#include -#else struct dirent { int d_ino; int d_off; @@ -151,7 +147,6 @@ typedef struct _DIR { DIR *opendir(const char *path); struct dirent *readdir(DIR *dp); int closedir(DIR *dp); -#endif void RegisterBlendExtension(void); void get_default_root(char *root); -- cgit v1.2.3