X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fparse-sexp.cc;h=9cadbc1359d3fcb2d3813bab7eae5d0a91d6f096;hb=18e35950dad8daa485d86e244ffd5d5e6a63d03a;hp=0f14d8b7307173981ca43f2fbac9d86f91a1b5e1;hpb=6a9ae990990848ec99107f2e2e6b6ae12dcd33df;p=notmuch diff --git a/lib/parse-sexp.cc b/lib/parse-sexp.cc index 0f14d8b7..9cadbc13 100644 --- a/lib/parse-sexp.cc +++ b/lib/parse-sexp.cc @@ -563,32 +563,13 @@ _sexp_parse_range (notmuch_database_t *notmuch, const _sexp_prefix_t *prefix, } if (strcmp (prefix->name, "lastmod") == 0) { - long from_idx, to_idx; - - try { - if (EMPTY_STRING (from)) - from_idx = 0L; - else - from_idx = std::stol (from); - } catch (std::logic_error &e) { - _notmuch_database_log (notmuch, "bad 'from' revision: '%s'\n", from); - return NOTMUCH_STATUS_BAD_QUERY_SYNTAX; - } - - try { - if (EMPTY_STRING (to)) - to_idx = LONG_MAX; - else - to_idx = std::stol (to); - } catch (std::logic_error &e) { - _notmuch_database_log (notmuch, "bad 'to' revision: '%s'\n", to); - return NOTMUCH_STATUS_BAD_QUERY_SYNTAX; + notmuch_status_t status; + status = _notmuch_lastmod_strings_to_query (notmuch, from, to, output, msg); + if (status) { + if (! msg.empty ()) + _notmuch_database_log (notmuch, "%s\n", msg.c_str ()); } - - output = Xapian::Query (Xapian::Query::OP_VALUE_RANGE, NOTMUCH_VALUE_LAST_MOD, - Xapian::sortable_serialise (from_idx), - Xapian::sortable_serialise (to_idx)); - return NOTMUCH_STATUS_SUCCESS; + return status; } _notmuch_database_log (notmuch, "unimplimented range prefix: '%s'\n", prefix->name);