#include "matcher_parser.h"
#include "utils.h"
#include "prefs_common.h"
+#include "timing.h"
struct _AdvancedSearch {
struct {
FolderItem* folderItem, gboolean recursive)
{
if (recursive) {
- if (!search_impl(messages, search, folderItem, FALSE))
+ START_TIMING("recursive");
+ if (!search_impl(messages, search, folderItem, FALSE)) {
+ END_TIMING();
return FALSE;
-
+ }
if (folderItem->node->children != NULL && !search->search_aborted) {
GNode *node;
for (node = folderItem->node->children; node != NULL; node = node->next) {
FolderItem *cur = FOLDER_ITEM(node->data);
debug_print("in: %s\n", cur->path);
- if (!search_impl(messages, search, cur, TRUE))
+ if (!search_impl(messages, search, cur, TRUE)) {
+ END_TIMING();
return FALSE;
+ }
}
}
+ END_TIMING();
} else if (!folderItem->no_select) {
MsgNumberList *msgnums = NULL;
MsgNumberList *cur;
MsgInfoList *msgs = NULL;
gboolean can_search_on_server = folderItem->folder->klass->supports_server_search;
-
+ START_TIMING("folder");
if (!search_filter_folder(&msgnums, search, folderItem,
can_search_on_server)) {
g_slist_free(msgnums);
+ END_TIMING();
return FALSE;
}
}
g_slist_free(msgnums);
+ END_TIMING();
}
return TRUE;