diff options
author | Hans Nilsson <[email protected]> | 2015-06-22 19:53:03 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2015-06-30 13:20:26 +0200 |
commit | 747e32d7e5cfcd580da0a57e94cf9fda7adfb6e3 (patch) | |
tree | 97e92c53cd9dc0ca009538485d5fabb6e04c3c7b /lib/ssh/src/ssh_sftp.erl | |
parent | ab5fa21f07203af27d5c685c9698de5149eae8d0 (diff) | |
download | otp-747e32d7e5cfcd580da0a57e94cf9fda7adfb6e3.tar.gz otp-747e32d7e5cfcd580da0a57e94cf9fda7adfb6e3.tar.bz2 otp-747e32d7e5cfcd580da0a57e94cf9fda7adfb6e3.zip |
ssh: correct sftp unicode and iolist bug
Ssh_sftp.erl handled incorrectly unicode data in ssh_ftp:write_file.
There was also problems with some deeper iolists.
Diffstat (limited to 'lib/ssh/src/ssh_sftp.erl')
-rw-r--r-- | lib/ssh/src/ssh_sftp.erl | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/ssh/src/ssh_sftp.erl b/lib/ssh/src/ssh_sftp.erl index 9fe2d56759..dbacf730cc 100644 --- a/lib/ssh/src/ssh_sftp.erl +++ b/lib/ssh/src/ssh_sftp.erl @@ -439,7 +439,7 @@ write_file(Pid, Name, List) -> write_file(Pid, Name, List, ?FILEOP_TIMEOUT). write_file(Pid, Name, List, FileOpTimeout) when is_list(List) -> - write_file(Pid, Name, unicode:characters_to_binary(List), FileOpTimeout); + write_file(Pid, Name, list_to_binary(List), FileOpTimeout); write_file(Pid, Name, Bin, FileOpTimeout) -> case open(Pid, Name, [write, binary], FileOpTimeout) of {ok, Handle} -> @@ -611,8 +611,7 @@ do_handle_call({pread,Async,Handle,At,Length}, From, State) -> fun({ok,Data}, State2) -> case get_mode(Handle, State2) of binary -> {{ok,Data}, State2}; - text -> - {{ok,unicode:characters_to_list(Data)}, State2} + text -> {{ok,binary_to_list(Data)}, State2} end; (Rep, State2) -> {Rep, State2} |