diff options
author | Patrik Nyblom <[email protected]> | 2010-11-04 17:55:55 +0100 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2010-11-30 16:30:50 +0100 |
commit | b9101fe19b7f8d659d266152b36cc436b90c77a3 (patch) | |
tree | 8f5fe5695c36a8ce39c10eceea839d1f2710dd40 /erts/emulator/drivers/common/erl_efile.h | |
parent | be63e483361c9a764f6a68df80e50fd7bd825e6b (diff) | |
download | otp-b9101fe19b7f8d659d266152b36cc436b90c77a3.tar.gz otp-b9101fe19b7f8d659d266152b36cc436b90c77a3.tar.bz2 otp-b9101fe19b7f8d659d266152b36cc436b90c77a3.zip |
Make Unicode filenames work on Windows
Diffstat (limited to 'erts/emulator/drivers/common/erl_efile.h')
-rw-r--r-- | erts/emulator/drivers/common/erl_efile.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/erts/emulator/drivers/common/erl_efile.h b/erts/emulator/drivers/common/erl_efile.h index ac95c1f949..3097ded3f1 100644 --- a/erts/emulator/drivers/common/erl_efile.h +++ b/erts/emulator/drivers/common/erl_efile.h @@ -59,6 +59,14 @@ #define FA_WRITE 1 #define FA_READ 2 +/* Some OS'es (i.e. Windows) has filenames in wide charaqcters. That requires special handling */ +/* Note that we do *not* honor alignment in the communication to the OS specific driver, */ +/* which is not a problem on x86, but might be on other platforms. The OS specific efile */ +/* implementation is expected to align if needed */ +#ifdef __WIN32__ +#define FILENAMES_16BIT 1 +#endif + /* * An handle to an open directory. To be cast to the correct type * in the system-dependent directory functions. @@ -123,7 +131,7 @@ int efile_getdcwd(Efile_error* errInfo, int drive, char* buffer, size_t size); int efile_readdir(Efile_error* errInfo, char* name, EFILE_DIR_HANDLE* dir_handle, - char* buffer, size_t size); + char* buffer, size_t *size); int efile_openfile(Efile_error* errInfo, char* name, int flags, int* pfd, Sint64* pSize); void efile_closefile(int fd); |