diff options
| author | Vlad Ionescu <vlad@lshift.net> | 2010-05-14 18:07:39 +0100 |
|---|---|---|
| committer | Vlad Ionescu <vlad@lshift.net> | 2010-05-14 18:07:39 +0100 |
| commit | 9900dbe4d4df317931807fa6c1f3078a81c3c7fe (patch) | |
| tree | 1a32de83213b0016fa2508198cedda5fbcc04a53 | |
| parent | 44fe8d966f437ab4778049deaf1bd50a5eddec59 (diff) | |
| download | rabbitmq-server-git-9900dbe4d4df317931807fa6c1f3078a81c3c7fe.tar.gz | |
handling the case of empty payload in rabbit_binary_generator:build_content_frames/7
| -rw-r--r-- | src/rabbit_binary_generator.erl | 9 |
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). |
