summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-05-19 16:40:50 +0100
committerMatthew Sackman <matthew@lshift.net>2010-05-19 16:40:50 +0100
commit0cb70028d3a08eaaae5b43a998e2945bc4a71348 (patch)
tree85d9c83b1fdefdb9ebc2aa1fc50bbf29e359794b
parent6b56c4a54c57f15b01fc6f8c4b65eabdd80f7c23 (diff)
parent9900dbe4d4df317931807fa6c1f3078a81c3c7fe (diff)
downloadrabbitmq-server-git-0cb70028d3a08eaaae5b43a998e2945bc4a71348.tar.gz
Merging bug 22761 onto default
-rw-r--r--src/rabbit_binary_generator.erl9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/rabbit_binary_generator.erl b/src/rabbit_binary_generator.erl
index ed84373585..27a1275a31 100644
--- a/src/rabbit_binary_generator.erl
+++ b/src/rabbit_binary_generator.erl
@@ -118,10 +118,11 @@ build_content_frames(SizeAcc, FramesAcc, FragSizeRem, FragAcc,
[Frag | Frags], BodyPayloadMax, ChannelInt) ->
Size = size(Frag),
{NewFragSizeRem, NewFragAcc, NewFrags} =
- case Size =< FragSizeRem of
- true -> {FragSizeRem - Size, [Frag | FragAcc], Frags};
- false -> <<Head:FragSizeRem/binary, Tail/binary>> = Frag,
- {0, [Head | FragAcc], [Tail | Frags]}
+ if Size == 0 -> {FragSizeRem, FragAcc, Frags};
+ Size =< FragSizeRem -> {FragSizeRem - Size, [Frag | FragAcc], Frags};
+ true -> <<Head:FragSizeRem/binary, Tail/binary>> =
+ Frag,
+ {0, [Head | FragAcc], [Tail | Frags]}
end,
build_content_frames(SizeAcc, FramesAcc, NewFragSizeRem, NewFragAcc,
NewFrags, BodyPayloadMax, ChannelInt).