aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel
diff options
context:
space:
mode:
authorPatrik Nyblom <[email protected]>2010-10-14 10:12:57 +0200
committerPatrik Nyblom <[email protected]>2010-11-30 16:29:05 +0100
commit63eeba2f6829aac2644eaf212ebef9cdf4b59e8d (patch)
treef5dd68d6626e30fe1e86ac312c60fc23c8120c0f /lib/kernel
parenta3ad23a50ef3dbdb8309bd178014d3285d87a78f (diff)
downloadotp-63eeba2f6829aac2644eaf212ebef9cdf4b59e8d.tar.gz
otp-63eeba2f6829aac2644eaf212ebef9cdf4b59e8d.tar.bz2
otp-63eeba2f6829aac2644eaf212ebef9cdf4b59e8d.zip
Handle binary file names and conversion of unicode strings
Diffstat (limited to 'lib/kernel')
-rw-r--r--lib/kernel/src/file.erl2
-rw-r--r--lib/kernel/src/file_io_server.erl4
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/kernel/src/file.erl b/lib/kernel/src/file.erl
index 89432869e9..579b9132c6 100644
--- a/lib/kernel/src/file.erl
+++ b/lib/kernel/src/file.erl
@@ -1033,6 +1033,8 @@ path_open_first([], _Name, _Mode, LastError) ->
%% Generates a flat file name from a deep list of atoms and
%% characters (integers).
+file_name(N) when is_binary(N) ->
+ N;
file_name(N) ->
try
file_name_1(N)
diff --git a/lib/kernel/src/file_io_server.erl b/lib/kernel/src/file_io_server.erl
index 39dc32bb79..14da9c1a55 100644
--- a/lib/kernel/src/file_io_server.erl
+++ b/lib/kernel/src/file_io_server.erl
@@ -44,11 +44,11 @@ format_error(ErrorId) ->
erl_posix_msg:message(ErrorId).
start(Owner, FileName, ModeList)
- when is_pid(Owner), is_list(FileName), is_list(ModeList) ->
+ when is_pid(Owner), (is_list(FileName) orelse is_binary(FileName)), is_list(ModeList) ->
do_start(spawn, Owner, FileName, ModeList).
start_link(Owner, FileName, ModeList)
- when is_pid(Owner), is_list(FileName), is_list(ModeList) ->
+ when is_pid(Owner), (is_list(FileName) orelse is_binary(FileName)), is_list(ModeList) ->
do_start(spawn_link, Owner, FileName, ModeList).
%%%-----------------------------------------------------------------