stable now but there are GIANT PIECES MISSING
[citadel.git] / citadel / modules / imap / imap_search.c
index f1b7f73e993ce26cc246a3f3effcd7c8070c48aa..efc19920274401a412b275376c29a705af801c6f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Implements IMAP's gratuitously complex SEARCH command.
  *
- * Copyright (c) 2001-2015 by the citadel.org team
+ * Copyright (c) 2001-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 3.
 #include <pwd.h>
 #include <errno.h>
 #include <sys/types.h>
-
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-#  include <sys/time.h>
-# else
-#  include <time.h>
-# endif
-#endif
-
+#include <time.h>
 #include <sys/wait.h>
 #include <ctype.h>
 #include <string.h>
@@ -115,7 +104,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "BCC")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -132,7 +121,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "BEFORE")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -158,7 +147,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
                /* Otherwise, we have to do a slow search. */
                else {
                        if (msg == NULL) {
-                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                               msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                                need_to_free_msg = 1;
                        }
                        if (msg != NULL) {
@@ -173,7 +162,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "CC")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -219,7 +208,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "FROM")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -241,7 +230,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
                 * examining the message body.
                 */
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
 
@@ -271,7 +260,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "LARGER")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -298,7 +287,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "ON")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -328,7 +317,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SENTBEFORE")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -344,7 +333,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SENTON")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -360,7 +349,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SENTSINCE")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -376,7 +365,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SINCE")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -392,7 +381,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SMALLER")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -405,7 +394,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "SUBJECT")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -418,7 +407,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "TEXT")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {
@@ -433,7 +422,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *supplied_msg,
 
        else if (!strcasecmp(itemlist[pos].Key, "TO")) {
                if (msg == NULL) {
-                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1, 1);
+                       msg = CtdlFetchMessage(Imap->msgids[seq-1], 1);
                        need_to_free_msg = 1;
                }
                if (msg != NULL) {