diff options
author | Lukas Larsson <[email protected]> | 2018-03-02 10:18:34 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2018-03-02 10:18:34 +0100 |
commit | 5d4267657b2ef41d33cfd6ed920186bcf215d520 (patch) | |
tree | 84471426bfb9a02060345fb72319a73f0a90bfec /lib/kernel/src/os.erl | |
parent | 73fc86ea0c79f4b1fbc434ba4261345b6d6e772f (diff) | |
parent | fb218aaf3ef9da8f21a95f7e5a96e0210812d04b (diff) | |
download | otp-5d4267657b2ef41d33cfd6ed920186bcf215d520.tar.gz otp-5d4267657b2ef41d33cfd6ed920186bcf215d520.tar.bz2 otp-5d4267657b2ef41d33cfd6ed920186bcf215d520.zip |
Merge branch 'maint'
Diffstat (limited to 'lib/kernel/src/os.erl')
-rw-r--r-- | lib/kernel/src/os.erl | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl index 1e9db80058..77c883f57f 100644 --- a/lib/kernel/src/os.erl +++ b/lib/kernel/src/os.erl @@ -358,16 +358,16 @@ get_data(Port, MonRef, Eot, Sofar, Size, Max) -> iolist_to_binary(Sofar) end. -eot(_Bs, <<>>, _Size, _Max) -> +eot(Bs, <<>>, Size, Max) when Size + byte_size(Bs) < Max -> more; +eot(Bs, <<>>, Size, Max) -> + binary:part(Bs, {0, Max - Size}); eot(Bs, Eot, Size, Max) -> case binary:match(Bs, Eot) of - nomatch when Size + byte_size(Bs) < Max -> - more; {Pos, _} when Size + Pos < Max -> binary:part(Bs,{0, Pos}); _ -> - binary:part(Bs,{0, Max - Size}) + eot(Bs, <<>>, Size, Max) end. %% When port_close returns we know that all the |