]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/autocompletion/serv_autocompletion.c
Here it is, the new thread interface.
[citadel.git] / citadel / modules / autocompletion / serv_autocompletion.c
index ddea4f0dcc0077b015eeb7424b23fe62d2087ef4..9faebfe9d2d3ae1bb76dbf0095ee7996fd4150c7 100644 (file)
 #include <sys/wait.h>
 #include <string.h>
 #include <limits.h>
+#include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
 #include "citserver.h"
 #include "support.h"
 #include "config.h"
-#include "tools.h"
 #include "msgbase.h"
 #include "user_ops.h"
 #include "room_ops.h"
 #include "database.h"
-#include "vcard.h"
-#include "serv_fulltext.h"
 #include "serv_autocompletion.h"
 
 #include "ctdl_module.h"
@@ -177,7 +175,7 @@ void cmd_auto(char *argbuf) {
                
        if (CtdlAccessCheck(ac_logged_in)) return;
        extract_token(search_string, argbuf, 0, '|', sizeof search_string);
-       if (strlen(search_string) == 0) {
+       if (IsEmptyStr(search_string)) {
                cprintf("%d You supplied an empty partial.\n",
                        ERROR + ILLEGAL_VALUE);
                return;
@@ -205,7 +203,7 @@ void cmd_auto(char *argbuf) {
         * Search-reduce the results if we have the full text index available
         */
        if (config.c_enable_fulltext) {
-               ft_search(&fts_num_msgs, &fts_msgs, search_string);
+               CtdlModuleDoSearch(&fts_num_msgs, &fts_msgs, search_string, "fulltext");
                if (fts_msgs) {
                        for (i=0; i<num_msgs; ++i) {
                                search_match = 0;
@@ -251,8 +249,10 @@ void cmd_auto(char *argbuf) {
 
 
 CTDL_MODULE_INIT(autocompletion) {
-       CtdlRegisterProtoHook(cmd_auto, "AUTO", "Do recipient autocompletion");
-
+       if (!threading)
+       {
+               CtdlRegisterProtoHook(cmd_auto, "AUTO", "Do recipient autocompletion");
+       }
        /* return our Subversion id for the Log */
        return "$Id$";
 }