Commit d726120e authored by Martin Sustrik's avatar Martin Sustrik

Bug in matching algorithm fixed

Signed-off-by: 's avatarMartin Sustrik <sustrik@250bpm.com>
parent 25cc25e9
......@@ -210,13 +210,17 @@ void zmq::mtrie_t::match (unsigned char *data_, size_t size_,
void (*func_) (pipe_t *pipe_, void *arg_), void *arg_)
{
mtrie_t *current = this;
while (size_) {
while (true) {
// Signal the pipes attached to this node.
for (pipes_t::iterator it = current->pipes.begin ();
it != current->pipes.end (); ++it)
func_ (*it, arg_);
// If we are at the end of the message, there's nothing more to match.
if (!size_)
break;
// If there are no subnodes in the trie, return.
if (current->count == 0)
break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment