diff options
author | Björn Gustavsson <[email protected]> | 2013-02-12 14:30:13 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2013-02-12 14:30:13 +0100 |
commit | cd08400f92ec7672025bf39a458effcf33a423dc (patch) | |
tree | b874f8c3fe97558d72dcaedc31dd941060ccea75 /erts/emulator/beam/sys.h | |
parent | bbf692965470a9e993e1afd6f1a9375cbe832fcb (diff) | |
parent | 08bc8a328275e751836fab0c562b50cf71000c2b (diff) | |
download | otp-cd08400f92ec7672025bf39a458effcf33a423dc.tar.gz otp-cd08400f92ec7672025bf39a458effcf33a423dc.tar.bz2 otp-cd08400f92ec7672025bf39a458effcf33a423dc.zip |
Merge branch 'pan/unicode_filename_warnings'
* pan/unicode_filename_warnings:
Add file:list_dir_all/1 and file:read_link_all/1
prim_file: Add list_dir_all() and read_link_all()
Teach prim_file:set_cwd() to avoid entering non-translatable directories
Make prim_file skip invalid filenames in unicode mode
prim_file: Refactor functions that return filenames
prim_file: Refactor handling of responses
prim_file: Always open non-file ports in binary mode
Test that list_dir("non-existing-dir") fails with the correct error
Diffstat (limited to 'erts/emulator/beam/sys.h')
-rw-r--r-- | erts/emulator/beam/sys.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h index 249a9c05c2..9416a91480 100644 --- a/erts/emulator/beam/sys.h +++ b/erts/emulator/beam/sys.h @@ -1029,10 +1029,22 @@ char* win32_errorstr(int); #define ERL_FILENAME_UTF8_MAC (3) #define ERL_FILENAME_WIN_WCHAR (4) +/************************************************************************ + * If a filename in for example list_dir is not in the right encoding, it + * will be skipped in the resulting list, but depending on a startup setting + * we will inform the user in different ways. These macros define the + * different reactions to wrongly coded filenames. In the error case an + * exception will be thrown by prim_file. + ************************************************************************/ +#define ERL_FILENAME_WARNING_WARNING (0) +#define ERL_FILENAME_WARNING_IGNORE (1) +#define ERL_FILENAME_WARNING_ERROR (2) + int erts_get_native_filename_encoding(void); /* The set function is only to be used by erl_init! */ -void erts_set_user_requested_filename_encoding(int encoding); +void erts_set_user_requested_filename_encoding(int encoding, int warning); int erts_get_user_requested_filename_encoding(void); +int erts_get_filename_warning_type(void); void erts_init_sys_common_misc(void); |