diff --git a/lib/mu-query.cc b/lib/mu-query.cc index 5761f2a0..a32094d5 100644 --- a/lib/mu-query.cc +++ b/lib/mu-query.cc @@ -115,13 +115,13 @@ public: if (!substitute_size (begin) || !substitute_size (end)) return Xapian::BAD_VALUENO; + begin = Xapian::sortable_serialise (atol(begin.c_str())); + end = Xapian::sortable_serialise (atol(end.c_str())); + /* swap if b > e */ if (begin > end) std::swap (begin, end); - begin = Xapian::sortable_serialise (atol(begin.c_str())); - end = Xapian::sortable_serialise (atol(end.c_str())); - return (Xapian::valueno)MU_MSG_FIELD_ID_SIZE; } private: diff --git a/mu/tests/test-mu-query.c b/mu/tests/test-mu-query.c index 373d017e..73cbd3f4 100644 --- a/mu/tests/test-mu-query.c +++ b/mu/tests/test-mu-query.c @@ -507,6 +507,7 @@ test_mu_query_sizes (void) int i; QResults queries[] = { { "size:0b..2m", 19}, + { "size:3b..2m", 19}, { "size:2k..4k", 4}, { "size:2m..0b", 19} };