Removed support for 'before read hooks' because there is no such thing.
[citadel.git] / citadel / modules / autocompletion / serv_autocompletion.c
index 9faebfe9d2d3ae1bb76dbf0095ee7996fd4150c7..0e39b643507e71106d62734f29b6709d478a572a 100644 (file)
@@ -1,53 +1,21 @@
 /*
- * $Id$
- *
  * Autocompletion of email recipients, etc.
+ *
+ * Copyright (c) 1987-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.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
  */
 
-#include "sysdep.h"
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <ctype.h>
-#include <signal.h>
-#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 <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 "msgbase.h"
-#include "user_ops.h"
-#include "room_ops.h"
-#include "database.h"
-#include "serv_autocompletion.h"
 
 #include "ctdl_module.h"
-
-
-#ifndef HAVE_SNPRINTF
-#include "snprintf.h"
-#endif
-
+#include "serv_autocompletion.h"
+#include "config.h"
 
 
 /*
@@ -94,8 +62,8 @@ void hunt_for_autocomplete(long msgnum, char *search_string) {
        msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
 
-       v = vcard_load(msg->cm_fields['M']);
-       CtdlFreeMessage(msg);
+       v = vcard_load(msg->cm_fields[eMesageText]);
+       CM_Free(msg);
 
        /*
         * Try to match from a friendly name (the "fn" field).  If there is
@@ -188,7 +156,7 @@ void cmd_auto(char *argbuf) {
         * Gather up message pointers in rooms containing vCards
         */
        for (r=0; r < (sizeof(rooms_to_try) / sizeof(char *)); ++r) {
-               if (getroom(&CC->room, rooms_to_try[r]) == 0) {
+               if (CtdlGetRoom(&CC->room, rooms_to_try[r]) == 0) {
                        cdbfr = cdb_fetch(CDB_MSGLISTS, &CC->room.QRnumber, sizeof(long));
                        if (cdbfr != NULL) {
                                msglist = realloc(msglist, (num_msgs * sizeof(long)) + cdbfr->len + 1);
@@ -202,7 +170,7 @@ void cmd_auto(char *argbuf) {
        /*
         * Search-reduce the results if we have the full text index available
         */
-       if (config.c_enable_fulltext) {
+       if (CtdlGetConfigInt("c_enable_fulltext")) {
                CtdlModuleDoSearch(&fts_num_msgs, &fts_msgs, search_string, "fulltext");
                if (fts_msgs) {
                        for (i=0; i<num_msgs; ++i) {
@@ -238,7 +206,7 @@ void cmd_auto(char *argbuf) {
        
        cprintf("000\n");
        if (strcmp(CC->room.QRname, hold_rm)) {
-               getroom(&CC->room, hold_rm);    /* return to saved room */
+               CtdlGetRoom(&CC->room, hold_rm);    /* return to saved room */
        }
 
        if (msglist) {
@@ -248,11 +216,12 @@ void cmd_auto(char *argbuf) {
 }
 
 
-CTDL_MODULE_INIT(autocompletion) {
+CTDL_MODULE_INIT(autocompletion)
+{
        if (!threading)
        {
                CtdlRegisterProtoHook(cmd_auto, "AUTO", "Do recipient autocompletion");
        }
-       /* return our Subversion id for the Log */
-       return "$Id$";
+       /* return our module name for the log */
+       return "autocompletion";
 }