unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob 148c117d947c22b41c0202bb596da635c07d08ee 1032 bytes (raw)
name: lib/parse-time-vrp.cc 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 

#include "database-private.h"
#include "parse-time-vrp.h"
#include "parse-time-string.h"

#define PREFIX "date:"

/* See *ValueRangeProcessor in xapian-core/api/valuerangeproc.cc */
Xapian::valueno
ParseTimeValueRangeProcessor::operator() (std::string &begin, std::string &end)
{
    time_t t, now;

    /* Require date: prefix in start of the range... */
    if (STRNCMP_LITERAL (begin.c_str (), PREFIX))
	return Xapian::BAD_VALUENO;

    /* ...and remove it. */
    begin.erase (0, sizeof (PREFIX) - 1);

    /* Use the same 'now' for begin and end. */
    if (time (&now) == (time_t) -1)
	return Xapian::BAD_VALUENO;

    if (!begin.empty ()) {
	if (parse_time_string (begin.c_str (), &t, &now, PARSE_TIME_ROUND_DOWN))
	    return Xapian::BAD_VALUENO;

	begin.assign (Xapian::sortable_serialise ((double) t));
    }

    if (!end.empty ()) {
	if (parse_time_string (end.c_str (), &t, &now, PARSE_TIME_ROUND_UP))
	    return Xapian::BAD_VALUENO;

	end.assign (Xapian::sortable_serialise ((double) t));
    }

    return valno;
}

debug log:

solving 148c117 ...
found 148c117 in https://yhetil.org/notmuch/8aeefad3bb883a9fba5a9db4619b031cd7f290a3.1344028781.git.jani@nikula.org/ ||
	https://yhetil.org/notmuch/babc01848c5900be3442d73a7bd4b7dafdd8ed42.1344065790.git.jani@nikula.org/ ||
	https://yhetil.org/notmuch/532340d05ea748518c021048900bb83149e04e88.1347484177.git.jani@nikula.org/

applying [1/1] https://yhetil.org/notmuch/8aeefad3bb883a9fba5a9db4619b031cd7f290a3.1344028781.git.jani@nikula.org/
diff --git a/lib/parse-time-vrp.cc b/lib/parse-time-vrp.cc
new file mode 100644
index 0000000..148c117

Checking patch lib/parse-time-vrp.cc...
Applied patch lib/parse-time-vrp.cc cleanly.

skipping https://yhetil.org/notmuch/babc01848c5900be3442d73a7bd4b7dafdd8ed42.1344065790.git.jani@nikula.org/ for 148c117
skipping https://yhetil.org/notmuch/532340d05ea748518c021048900bb83149e04e88.1347484177.git.jani@nikula.org/ for 148c117
index at:
100644 148c117d947c22b41c0202bb596da635c07d08ee	lib/parse-time-vrp.cc

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).