fix possible crash on user deletion
[srvx.git] / src / main-common.c
index 16ba7c705843e8dbf4202526c05db431ca7b500d..85b9dd34a2dd3395658562eaee9fad9280b4af68 100644 (file)
@@ -1,6 +1,8 @@
 extern FILE *replay_file;
 
-time_t boot_time, burst_begin, now;
+unsigned long boot_time;
+unsigned long burst_begin;
+unsigned long now;
 unsigned long burst_length;
 struct log_type *MAIN_LOG;
 
@@ -51,6 +53,7 @@ static const struct message_entry msgtab[] = {
     { "MSG_STUPID_ACCESS_CHANGE", "Please ask someone $belse$b to demote you." },
     { "MSG_NO_SEARCH_ACCESS", "You do not have enough access to search based on $b%s$b." },
     { "MSG_INVALID_CRITERIA", "$b%s$b is an invalid search criteria." },
+    { "MSG_INVALID_FIELD", "$b%s$b is an invalid search field." },
     { "MSG_MATCH_COUNT", "Found $b%u$b matches." },
     { "MSG_NO_MATCHES", "Nothing matched the criteria of your search." },
     { "MSG_TOPIC_UNKNOWN", "No help on that topic." },
@@ -59,8 +62,8 @@ static const struct message_entry msgtab[] = {
     { "MSG_DB_UNKNOWN", "I do not know of a database named %s." },
     { "MSG_DB_IS_MONDO", "Database %s is in the \"mondo\" database and cannot be written separately." },
     { "MSG_DB_WRITE_ERROR", "Error while writing database %s." },
-    { "MSG_DB_WROTE_DB", "Wrote database %s (in "FMT_TIME_T".%06lu seconds)." },
-    { "MSG_DB_WROTE_ALL", "Wrote all databases (in "FMT_TIME_T".%06lu seconds)." },
+    { "MSG_DB_WROTE_DB", "Wrote database %s (in %lu.%06lu seconds)." },
+    { "MSG_DB_WROTE_ALL", "Wrote all databases (in %lu.%06lu seconds)." },
     { "MSG_AND", "and" },
     { "MSG_0_SECONDS", "0 seconds" },
     { "MSG_YEAR", "year" },
@@ -439,6 +442,11 @@ conf_globals(void)
     if (info && (info[0] == '.'))
         info = NULL;
     init_chanserv(info);
+    
+    info = conf_get_data("services/spamserv/nick", RECDB_QSTRING);
+    if (info && (info[0] == '.'))
+        info = NULL;
+    init_spamserv(info);
 
     god_policer_params = policer_params_new();
     if ((dict = conf_get_data("policers/commands-god", RECDB_OBJECT))) {
@@ -530,7 +538,7 @@ conf_rlimits(void)
 #endif
 
 static void
-usage(char *self)
+usage(char *exe_name)
 {
     /* We can assume we have getopt_long(). */
     printf("Usage: %s [-c config] [-r log] [-d] [-f] [-v|-h]\n"
@@ -541,7 +549,7 @@ usage(char *self)
            " -k, --check          checks the configuration file's syntax.\n"
            " -r, --replay         replay a log file (for debugging).\n"
            " -v, --version        prints this program's version.\n"
-           , self);
+           , exe_name);
 }
 
 static void
@@ -549,8 +557,10 @@ version()
 {
     printf("    --------------------------------------------------\n"
            "    - "PACKAGE_STRING" ("CODENAME"), Built: " __DATE__ ", " __TIME__".\n"
-           "    - Copyright (C) 2000 - 2005, srvx Development Team\n"
-           "    --------------------------------------------------\n");
+           "    - Copyright (C) 2000 - 2007, srvx Development Team\n"
+           "    - Version tag %s\n"
+           "    --------------------------------------------------\n",
+           git_version);
 }
 
 static void