Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/lib-storage/mail-search.h @ 9266:cd29b745c8dd HEAD
configure: clock_gettime()'s -lrt adding dropped everything else from $LIBS.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 27 Jul 2009 06:32:42 -0400 |
parents | ef33393452f7 |
children |
rev | line source |
---|---|
6410
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
5599
diff
changeset
|
1 #ifndef MAIL_SEARCH_H |
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
5599
diff
changeset
|
2 #define MAIL_SEARCH_H |
0 | 3 |
7619
56f55bd35aa5
Moved IMAP messageset handling to lib-imap/ and searching to lib-storage/.
Timo Sirainen <tss@iki.fi>
parents:
7618
diff
changeset
|
4 #include "seq-range-array.h" |
6962
659e4a606aae
Replaced SEARCH_<flag> with a generic SEARCH_FLAGS. Use value.size for
Timo Sirainen <tss@iki.fi>
parents:
6899
diff
changeset
|
5 #include "mail-types.h" |
7909
bf9c51edbc66
Added non-optimized support for SEARCH INTHREAD.
Timo Sirainen <tss@iki.fi>
parents:
7908
diff
changeset
|
6 #include "mail-thread.h" |
6962
659e4a606aae
Replaced SEARCH_<flag> with a generic SEARCH_FLAGS. Use value.size for
Timo Sirainen <tss@iki.fi>
parents:
6899
diff
changeset
|
7 |
903
fd8888f6f037
Naming style changes, finally got tired of most of the typedefs. Also the
Timo Sirainen <tss@iki.fi>
parents:
568
diff
changeset
|
8 enum mail_search_arg_type { |
0 | 9 SEARCH_OR, |
10 SEARCH_SUB, | |
11 | |
1915
79790750c349
importing new index code. mbox still broken.
Timo Sirainen <tss@iki.fi>
parents:
1844
diff
changeset
|
12 /* sequence sets */ |
0 | 13 SEARCH_ALL, |
1915
79790750c349
importing new index code. mbox still broken.
Timo Sirainen <tss@iki.fi>
parents:
1844
diff
changeset
|
14 SEARCH_SEQSET, |
7618
6dbd70663adf
Added support for SEARCH_UIDSET.
Timo Sirainen <tss@iki.fi>
parents:
7284
diff
changeset
|
15 SEARCH_UIDSET, |
0 | 16 |
17 /* flags */ | |
6962
659e4a606aae
Replaced SEARCH_<flag> with a generic SEARCH_FLAGS. Use value.size for
Timo Sirainen <tss@iki.fi>
parents:
6899
diff
changeset
|
18 SEARCH_FLAGS, |
6965
ae369569e7de
SEARCH_KEYWORDS now uses struct mail_keywords instead of a string array.
Timo Sirainen <tss@iki.fi>
parents:
6962
diff
changeset
|
19 SEARCH_KEYWORDS, |
0 | 20 |
21 /* dates */ | |
22 SEARCH_BEFORE, | |
5599
6789ba80419b
Parse search dates already in IMAP code.
Timo Sirainen <tss@iki.fi>
parents:
4942
diff
changeset
|
23 SEARCH_ON, /* time must point to beginning of the day */ |
0 | 24 SEARCH_SINCE, |
25 SEARCH_SENTBEFORE, | |
5599
6789ba80419b
Parse search dates already in IMAP code.
Timo Sirainen <tss@iki.fi>
parents:
4942
diff
changeset
|
26 SEARCH_SENTON, /* time must point to beginning of the day */ |
0 | 27 SEARCH_SENTSINCE, |
28 | |
29 /* sizes */ | |
30 SEARCH_SMALLER, | |
31 SEARCH_LARGER, | |
32 | |
33 /* headers */ | |
34 SEARCH_HEADER, | |
1672
8920600a8cfc
Index cache file rewrite. It's not finished yet and mbox support is
Timo Sirainen <tss@iki.fi>
parents:
1069
diff
changeset
|
35 SEARCH_HEADER_ADDRESS, |
7284
346d4a44c2f4
SEARCH SUBJECT now changes LWSP to spaces to match ENVELOPE's subject field.
Timo Sirainen <tss@iki.fi>
parents:
6965
diff
changeset
|
36 SEARCH_HEADER_COMPRESS_LWSP, |
0 | 37 |
38 /* body */ | |
39 SEARCH_BODY, | |
4942
b382b21409b5
Added support for X-BODY-FAST and X-TEXT-FAST SEARCH arguments. FTS plugin
Timo Sirainen <tss@iki.fi>
parents:
4906
diff
changeset
|
40 SEARCH_TEXT, |
b382b21409b5
Added support for X-BODY-FAST and X-TEXT-FAST SEARCH arguments. FTS plugin
Timo Sirainen <tss@iki.fi>
parents:
4906
diff
changeset
|
41 SEARCH_BODY_FAST, |
7620 | 42 SEARCH_TEXT_FAST, |
43 | |
44 /* extensions */ | |
7909
bf9c51edbc66
Added non-optimized support for SEARCH INTHREAD.
Timo Sirainen <tss@iki.fi>
parents:
7908
diff
changeset
|
45 SEARCH_MODSEQ, |
7910
c1bbdc2b262e
FETCH X-MAILBOX and SEARCH X-MAILBOX can be used with virtual mailboxes to
Timo Sirainen <tss@iki.fi>
parents:
7909
diff
changeset
|
46 SEARCH_INTHREAD, |
8077
6d51328896d6
Added the concept of Global UIDs that are preserved across copies.
Timo Sirainen <tss@iki.fi>
parents:
7910
diff
changeset
|
47 SEARCH_GUID, |
7910
c1bbdc2b262e
FETCH X-MAILBOX and SEARCH X-MAILBOX can be used with virtual mailboxes to
Timo Sirainen <tss@iki.fi>
parents:
7909
diff
changeset
|
48 SEARCH_MAILBOX |
7620 | 49 }; |
50 | |
7640 | 51 enum mail_search_arg_flag { |
52 /* For (SENT)BEFORE/SINCE/ON searches: Don't drop timezone from | |
53 comparisons */ | |
54 MAIL_SEARCH_ARG_FLAG_USE_TZ = 0x01, | |
55 }; | |
56 | |
7620 | 57 enum mail_search_modseq_type { |
58 MAIL_SEARCH_MODSEQ_TYPE_ANY = 0, | |
59 MAIL_SEARCH_MODSEQ_TYPE_PRIVATE, | |
60 MAIL_SEARCH_MODSEQ_TYPE_SHARED | |
61 }; | |
62 | |
63 struct mail_search_modseq { | |
64 uint64_t modseq; | |
65 enum mail_search_modseq_type type; | |
903
fd8888f6f037
Naming style changes, finally got tired of most of the typedefs. Also the
Timo Sirainen <tss@iki.fi>
parents:
568
diff
changeset
|
66 }; |
0 | 67 |
903
fd8888f6f037
Naming style changes, finally got tired of most of the typedefs. Also the
Timo Sirainen <tss@iki.fi>
parents:
568
diff
changeset
|
68 struct mail_search_arg { |
fd8888f6f037
Naming style changes, finally got tired of most of the typedefs. Also the
Timo Sirainen <tss@iki.fi>
parents:
568
diff
changeset
|
69 struct mail_search_arg *next; |
0 | 70 |
903
fd8888f6f037
Naming style changes, finally got tired of most of the typedefs. Also the
Timo Sirainen <tss@iki.fi>
parents:
568
diff
changeset
|
71 enum mail_search_arg_type type; |
1915
79790750c349
importing new index code. mbox still broken.
Timo Sirainen <tss@iki.fi>
parents:
1844
diff
changeset
|
72 struct { |
903
fd8888f6f037
Naming style changes, finally got tired of most of the typedefs. Also the
Timo Sirainen <tss@iki.fi>
parents:
568
diff
changeset
|
73 struct mail_search_arg *subargs; |
7619
56f55bd35aa5
Moved IMAP messageset handling to lib-imap/ and searching to lib-storage/.
Timo Sirainen <tss@iki.fi>
parents:
7618
diff
changeset
|
74 ARRAY_TYPE(seq_range) seqset; |
0 | 75 const char *str; |
5599
6789ba80419b
Parse search dates already in IMAP code.
Timo Sirainen <tss@iki.fi>
parents:
4942
diff
changeset
|
76 time_t time; |
6962
659e4a606aae
Replaced SEARCH_<flag> with a generic SEARCH_FLAGS. Use value.size for
Timo Sirainen <tss@iki.fi>
parents:
6899
diff
changeset
|
77 uoff_t size; |
659e4a606aae
Replaced SEARCH_<flag> with a generic SEARCH_FLAGS. Use value.size for
Timo Sirainen <tss@iki.fi>
parents:
6899
diff
changeset
|
78 enum mail_flags flags; |
7909
bf9c51edbc66
Added non-optimized support for SEARCH INTHREAD.
Timo Sirainen <tss@iki.fi>
parents:
7908
diff
changeset
|
79 enum mail_search_arg_flag search_flags; |
bf9c51edbc66
Added non-optimized support for SEARCH INTHREAD.
Timo Sirainen <tss@iki.fi>
parents:
7908
diff
changeset
|
80 enum mail_thread_type thread_type; |
6965
ae369569e7de
SEARCH_KEYWORDS now uses struct mail_keywords instead of a string array.
Timo Sirainen <tss@iki.fi>
parents:
6962
diff
changeset
|
81 struct mail_keywords *keywords; |
7620 | 82 struct mail_search_modseq *modseq; |
7909
bf9c51edbc66
Added non-optimized support for SEARCH INTHREAD.
Timo Sirainen <tss@iki.fi>
parents:
7908
diff
changeset
|
83 struct mail_search_args *search_args; |
bf9c51edbc66
Added non-optimized support for SEARCH INTHREAD.
Timo Sirainen <tss@iki.fi>
parents:
7908
diff
changeset
|
84 struct mail_search_result *search_result; |
0 | 85 } value; |
86 | |
568
f2aa58c2afd0
SEARCH CHARSET support. Currently we do it through iconv() and only ASCII
Timo Sirainen <tss@iki.fi>
parents:
444
diff
changeset
|
87 void *context; |
1672
8920600a8cfc
Index cache file rewrite. It's not finished yet and mbox support is
Timo Sirainen <tss@iki.fi>
parents:
1069
diff
changeset
|
88 const char *hdr_field_name; /* for SEARCH_HEADER* */ |
0 | 89 unsigned int not:1; |
1844
4c2678dd65f1
Some optimizations to messageset handling in search.
Timo Sirainen <tss@iki.fi>
parents:
1672
diff
changeset
|
90 unsigned int match_always:1; /* result = 1 always */ |
0 | 91 |
1069
8024a2cdc406
Several search fixes, mostly related to matching multiple conditions.
Timo Sirainen <tss@iki.fi>
parents:
988
diff
changeset
|
92 int result; /* -1 = unknown, 0 = unmatched, 1 = matched */ |
0 | 93 }; |
94 | |
7642
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
95 struct mail_search_args { |
8951
77fb2731830b
mail_search_args_[de]init() calls stack now. Last unref is still allowed without deiniting.
Timo Sirainen <tss@iki.fi>
parents:
8751
diff
changeset
|
96 int refcount, init_refcount; |
77fb2731830b
mail_search_args_[de]init() calls stack now. Last unref is still allowed without deiniting.
Timo Sirainen <tss@iki.fi>
parents:
8751
diff
changeset
|
97 |
7642
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
98 pool_t pool; |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
99 struct mailbox *box; |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
100 struct mail_search_arg *args; |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
101 const char *charset; |
7908
1e69c84a1e5a
Search code cleanups and minor optimizations.
Timo Sirainen <tss@iki.fi>
parents:
7655
diff
changeset
|
102 |
1e69c84a1e5a
Search code cleanups and minor optimizations.
Timo Sirainen <tss@iki.fi>
parents:
7655
diff
changeset
|
103 unsigned int simplified:1; |
1e69c84a1e5a
Search code cleanups and minor optimizations.
Timo Sirainen <tss@iki.fi>
parents:
7655
diff
changeset
|
104 unsigned int have_inthreads:1; |
7642
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
105 }; |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
106 |
1069
8024a2cdc406
Several search fixes, mostly related to matching multiple conditions.
Timo Sirainen <tss@iki.fi>
parents:
988
diff
changeset
|
107 #define ARG_SET_RESULT(arg, res) \ |
8024a2cdc406
Several search fixes, mostly related to matching multiple conditions.
Timo Sirainen <tss@iki.fi>
parents:
988
diff
changeset
|
108 STMT_START { \ |
8024a2cdc406
Several search fixes, mostly related to matching multiple conditions.
Timo Sirainen <tss@iki.fi>
parents:
988
diff
changeset
|
109 (arg)->result = !(arg)->not ? (res) : \ |
8024a2cdc406
Several search fixes, mostly related to matching multiple conditions.
Timo Sirainen <tss@iki.fi>
parents:
988
diff
changeset
|
110 (res) == -1 ? -1 : !(res); \ |
8024a2cdc406
Several search fixes, mostly related to matching multiple conditions.
Timo Sirainen <tss@iki.fi>
parents:
988
diff
changeset
|
111 } STMT_END |
8024a2cdc406
Several search fixes, mostly related to matching multiple conditions.
Timo Sirainen <tss@iki.fi>
parents:
988
diff
changeset
|
112 |
4903
204d7edc7cdc
Added context parameter type safety checks for most callback APIs.
Timo Sirainen <tss@iki.fi>
parents:
3863
diff
changeset
|
113 typedef void mail_search_foreach_callback_t(struct mail_search_arg *arg, |
204d7edc7cdc
Added context parameter type safety checks for most callback APIs.
Timo Sirainen <tss@iki.fi>
parents:
3863
diff
changeset
|
114 void *context); |
0 | 115 |
7642
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
116 /* Allocate keywords for search arguments. If change_uidsets is TRUE, |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
117 change uidsets to seqsets. */ |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
118 void mail_search_args_init(struct mail_search_args *args, |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
119 struct mailbox *box, bool change_uidsets, |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
120 const ARRAY_TYPE(seq_range) *search_saved_uidset); |
8751
98e46e8153e4
mail-storage API: Added some function description comments.
Timo Sirainen <tss@iki.fi>
parents:
8144
diff
changeset
|
121 /* Free keywords. The args can initialized afterwards again if needed. |
98e46e8153e4
mail-storage API: Added some function description comments.
Timo Sirainen <tss@iki.fi>
parents:
8144
diff
changeset
|
122 The args can be reused for other queries after calling this. */ |
7642
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
123 void mail_search_args_deinit(struct mail_search_args *args); |
7655
ec49260ed4ee
SEARCH UPDATE: Convert seqsets in saved results to uidsets so that they can
Timo Sirainen <tss@iki.fi>
parents:
7642
diff
changeset
|
124 /* Convert sequence sets in args to UIDs. */ |
ec49260ed4ee
SEARCH UPDATE: Convert seqsets in saved results to uidsets so that they can
Timo Sirainen <tss@iki.fi>
parents:
7642
diff
changeset
|
125 void mail_search_args_seq2uid(struct mail_search_args *args); |
8144
ea5f84256c3f
Added mail_search_args_equal().
Timo Sirainen <tss@iki.fi>
parents:
8077
diff
changeset
|
126 /* Returns TRUE if the two search arguments are fully compatible. |
ea5f84256c3f
Added mail_search_args_equal().
Timo Sirainen <tss@iki.fi>
parents:
8077
diff
changeset
|
127 Always returns FALSE if there are seqsets, since they may point to different |
ea5f84256c3f
Added mail_search_args_equal().
Timo Sirainen <tss@iki.fi>
parents:
8077
diff
changeset
|
128 messages depending on when the search is run. */ |
ea5f84256c3f
Added mail_search_args_equal().
Timo Sirainen <tss@iki.fi>
parents:
8077
diff
changeset
|
129 bool mail_search_args_equal(const struct mail_search_args *args1, |
ea5f84256c3f
Added mail_search_args_equal().
Timo Sirainen <tss@iki.fi>
parents:
8077
diff
changeset
|
130 const struct mail_search_args *args2); |
7642
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
131 |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
132 void mail_search_args_ref(struct mail_search_args *args); |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
133 void mail_search_args_unref(struct mail_search_args **args); |
077bb84e9e77
Make mail_search_args an independent structure that can be used for multiple
Timo Sirainen <tss@iki.fi>
parents:
7640
diff
changeset
|
134 |
9043 | 135 struct mail_search_args * |
136 mail_search_args_dup(const struct mail_search_args *args); | |
137 | |
1844
4c2678dd65f1
Some optimizations to messageset handling in search.
Timo Sirainen <tss@iki.fi>
parents:
1672
diff
changeset
|
138 /* Reset the results in search arguments. match_always is reset only if |
4c2678dd65f1
Some optimizations to messageset handling in search.
Timo Sirainen <tss@iki.fi>
parents:
1672
diff
changeset
|
139 full_reset is TRUE. */ |
3863
55df57c028d4
Added "bool" type and changed all ints that were used as booleans to bool.
Timo Sirainen <tss@iki.fi>
parents:
1915
diff
changeset
|
140 void mail_search_args_reset(struct mail_search_arg *args, bool full_reset); |
0 | 141 |
142 /* goes through arguments in list that don't have a result yet. | |
1069
8024a2cdc406
Several search fixes, mostly related to matching multiple conditions.
Timo Sirainen <tss@iki.fi>
parents:
988
diff
changeset
|
143 Returns 1 = search matched, 0 = search unmatched, -1 = don't know yet */ |
903
fd8888f6f037
Naming style changes, finally got tired of most of the typedefs. Also the
Timo Sirainen <tss@iki.fi>
parents:
568
diff
changeset
|
144 int mail_search_args_foreach(struct mail_search_arg *args, |
4903
204d7edc7cdc
Added context parameter type safety checks for most callback APIs.
Timo Sirainen <tss@iki.fi>
parents:
3863
diff
changeset
|
145 mail_search_foreach_callback_t *callback, |
953
411006be3c66
Naming change for function typedefs.
Timo Sirainen <tss@iki.fi>
parents:
903
diff
changeset
|
146 void *context); |
4906
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
147 #ifdef CONTEXT_TYPE_SAFETY |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
148 # define mail_search_args_foreach(args, callback, context) \ |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
149 ({(void)(1 ? 0 : callback((struct mail_search_arg *)NULL, context)); \ |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
150 mail_search_args_foreach(args, \ |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
151 (mail_search_foreach_callback_t *)callback, context); }) |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
152 #else |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
153 # define mail_search_args_foreach(args, callback, context) \ |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
154 mail_search_args_foreach(args, \ |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
155 (mail_search_foreach_callback_t *)callback, context) |
0c3c948412c5
Type safe callbacks weren't as easy as I thought. Only callback(void
Timo Sirainen <tss@iki.fi>
parents:
4903
diff
changeset
|
156 #endif |
0 | 157 |
1672
8920600a8cfc
Index cache file rewrite. It's not finished yet and mbox support is
Timo Sirainen <tss@iki.fi>
parents:
1069
diff
changeset
|
158 /* Fills have_headers and have_body based on if such search argument exists |
8920600a8cfc
Index cache file rewrite. It's not finished yet and mbox support is
Timo Sirainen <tss@iki.fi>
parents:
1069
diff
changeset
|
159 that needs to be checked. Returns the headers that we're searching for, or |
8920600a8cfc
Index cache file rewrite. It's not finished yet and mbox support is
Timo Sirainen <tss@iki.fi>
parents:
1069
diff
changeset
|
160 NULL if we're searching for TEXT. */ |
8920600a8cfc
Index cache file rewrite. It's not finished yet and mbox support is
Timo Sirainen <tss@iki.fi>
parents:
1069
diff
changeset
|
161 const char *const * |
8920600a8cfc
Index cache file rewrite. It's not finished yet and mbox support is
Timo Sirainen <tss@iki.fi>
parents:
1069
diff
changeset
|
162 mail_search_args_analyze(struct mail_search_arg *args, |
3863
55df57c028d4
Added "bool" type and changed all ints that were used as booleans to bool.
Timo Sirainen <tss@iki.fi>
parents:
1915
diff
changeset
|
163 bool *have_headers, bool *have_body); |
0 | 164 |
7908
1e69c84a1e5a
Search code cleanups and minor optimizations.
Timo Sirainen <tss@iki.fi>
parents:
7655
diff
changeset
|
165 /* Simplify/optimize search arguments */ |
1e69c84a1e5a
Search code cleanups and minor optimizations.
Timo Sirainen <tss@iki.fi>
parents:
7655
diff
changeset
|
166 void mail_search_args_simplify(struct mail_search_args *args); |
6899
69babcc2fb80
Simplify search arguments immediately when calling mailbox_search_init().
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
167 |
0 | 168 #endif |