From 5936379b292dec79efd3a1eaa7cafae4fc6d675a Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Fri, 16 Sep 2011 15:02:52 +0200 Subject: Bug in mtrie fixed Signed-off-by: Martin Sustrik --- src/mtrie.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/mtrie.cpp b/src/mtrie.cpp index fafac2d..bb20df8 100644 --- a/src/mtrie.cpp +++ b/src/mtrie.cpp @@ -228,14 +228,14 @@ void zmq::mtrie_t::match_helper (unsigned char *data_, size_t size_, // If there's one subnode (optimisation). if (count == 1) { - next.node->match (data_ + 1, size_ - 1, func_, arg_); + if (min == data_ [0]) + next.node->match_helper (data_ + 1, size_ - 1, func_, arg_); return; } // If there are multiple subnodes. - for (unsigned char c = 0; c != count; c++) { - if (next.table [c]) - next.table [c]->match (data_ + 1, size_ - 1, func_, arg_); - } + if (next.table [data_ [0] - min]) + next.table [data_ [0] - min]->match_helper (data_ + 1, size_ - 1, + func_, arg_); } -- cgit v1.2.3