Make #undef USE_MAILER work
authorAri Johnson <ari@theari.com>
Tue, 25 Nov 2008 21:43:05 +0000 (21:43 +0000)
committerCobraMUSH <cobramush@nveid.com>
Tue, 4 Mar 2008 21:22:14 +0000 (21:22 +0000)
(cherry picked from commit 750da7b9194e4cabd70cf973e25cf9413c344f74)

12 files changed:
hdrs/conf.h
hdrs/mushtype.h
src/bsd.c
src/cmds.c
src/command.c
src/conf.c
src/destroy.c
src/function.c
src/game.c
src/prog.c
src/timer.c
src/wiz.c

index d8f0963e37b6b2bd1744ea3908895b6767b828c9..84081902e65367b4eb609cb73517e83604f50145 100644 (file)
@@ -129,7 +129,9 @@ struct options_table {
   char output_db[256]; /**< Name of the output database file */
   char flagdb[256];    /**<Name of flag database file */
   char crash_db[256];  /**< Name of the panic database file */
+#ifdef USE_MAILER
   char mail_db[256];   /**< Name of the mail database file */
+#endif
   dbref player_start;  /**< The room in which new players are created */
   dbref guest_start; /**<The room in which new guests are created */
   dbref master_room;   /**< The master room for global commands/exits */
index 4fcff6a19d9ff4eff94e8d6655649ea219daae00..6f0e67b639cf471e91d42aada7511210adb516e3 100644 (file)
@@ -175,7 +175,9 @@ struct descriptor_data {
 #endif
   struct descriptor_data *next;        /**< Next descriptor in linked list */
   struct descriptor_data *prev;        /**< Previous descriptor in linked list */
+#ifdef USE_MAILER
   struct mail *mailp;  /**< Pointer to start of player's mail chain */
+#endif
   int conn_flags;      /**< Flags of connection (telnet status, etc.) */
   unsigned long input_chars;   /**< Characters received */
   unsigned long output_chars;  /**< Characters sent */
index 6e03a35c81e9059723ab275a621da762f87fd4ab..e85a4eaa0a6a6224b76d850d72f7442b4d8352e0 100644 (file)
--- a/src/bsd.c
+++ b/src/bsd.c
@@ -1474,7 +1474,9 @@ logout_sock(DESC *d)
     tbuf1[strlen(tbuf1)+1] = '\0';
     (void) atr_add(d->player, "LASTACTIVITY", tbuf1, GOD, NOTHING);
     announce_disconnect(d->player);
+#ifdef USE_MAILER
     do_mail_purge(d->player);
+#endif
     if (MAX_LOGINS) {
       login_number--;
       if (!under_limit && (login_number < MAX_LOGINS)) {
@@ -1510,7 +1512,9 @@ logout_sock(DESC *d)
   d->cmds = 0;
   d->hide = 0;
   d->doing[0] = '\0';
+#ifdef USE_MAILER
   d->mailp = NULL;
+#endif
   d->pinfo.object = NOTHING;
   d->pinfo.atr = NULL;
   d->pinfo.lock = 0;
@@ -1554,7 +1558,9 @@ shutdownsock(DESC *d)
       tbuf1[strlen(tbuf1)+1] = '\0';
       (void) atr_add(d->player, "LASTACTIVITY", tbuf1, GOD, NOTHING);
       announce_disconnect(d->player);
+#ifdef USE_MAILER
       do_mail_purge(d->player);
+#endif
     }
     if (MAX_LOGINS) {
       login_number--;
@@ -1597,7 +1603,9 @@ shutdownsock(DESC *d)
     d->cmds = 0;
     d->hide = 0;
     d->doing[0] = '\0';
+#ifdef USE_MAILER
     d->mailp = NULL;
+#endif
     strncpy(d->addr, "localhost", 100);
     d->addr[99] = '\0';
     strncpy(d->ip, "127.0.0.1", 100);
@@ -1692,7 +1700,9 @@ initializesock(int s, char *addr, char *ip, int use_ssl
   d->cmds = 0;
   d->hide = 0;
   d->doing[0] = '\0';
+#ifdef USE_MAILER
   d->mailp = NULL;
+#endif
   strncpy(d->addr, addr, 100);
   d->addr[99] = '\0';
   strncpy(d->ip, ip, 100);
@@ -2873,7 +2883,9 @@ dump_messages(DESC *d, dbref player, int isnew)
       return 0;
     }
   }
+#ifdef USE_MAILER
   d->mailp = find_exact_starting_point(player);
+#endif
 
   /* check to see if this is a reconnect and also set DARK status */
   is_hidden = Can_Hide(player) && Dark(player);
@@ -2900,9 +2912,11 @@ dump_messages(DESC *d, dbref player, int isnew)
   check_last(player, d->addr, d->ip);  /* set Last, Lastsite, give paycheck */
   /* Check folder 0, not silently (i.e. Report lack of mail, too) */
   queue_eol(d);
+#ifdef USE_MAILER
   if (command_check_byname(player, "@MAIL"))
     check_mail(player, 0, 0);
   set_player_folder(player, 0);
+#endif
   do_look_around(player);
   if (Haven(player))
     notify(player, T("Your HAVEN flag is set. You cannot receive pages."));
@@ -4805,6 +4819,8 @@ hidden(dbref player)
 }
 
 
+#ifdef USE_MAILER
+
 /** Return the mailp of the player closest in db# to player,
  * or NULL if there's nobody on-line.
  * In the current mail system, mail is stored in a linked list, sorted
@@ -4867,6 +4883,7 @@ desc_mail_clear(void)
   }
 }
 
+#endif /* USE_MAILER */
 
 
 
@@ -5251,7 +5268,9 @@ load_reboot_db(void)
     d->raw_input = NULL;
     d->raw_input_at = NULL;
     d->quota = options.starting_quota;
+#ifdef USE_MAILER
     d->mailp = NULL;
+#endif
 #ifndef COMPILE_CONSOLE
 #ifdef HAS_OPENSSL
     d->ssl = NULL;
@@ -5308,9 +5327,11 @@ load_reboot_db(void)
   strcpy(poll_msg, getstring_noalloc(f));
   globals.first_start_time = getref(f);
   globals.reboot_count = getref(f) + 1;
+#ifdef USE_MAILER
   DESC_ITER_CONN(d) {
     d->mailp = find_exact_starting_point(d->player);
   }
+#endif
 #ifndef COMPILE_CONSOLE
 #ifdef HAS_OPENSSL
   if (SSLPORT) {
@@ -5538,7 +5559,9 @@ COMMAND(cmd_su) {
        add_to_exit_path(match, player);
        announce_disconnect(player);
        match->player = target;
+#ifdef USE_MAILER
        match->mailp = find_exact_starting_point(target);
+#endif
        is_hidden = Can_Hide(target) && Dark(target);
        DESC_ITER_CONN(d)
          if(d->player == player) {
@@ -5552,9 +5575,11 @@ COMMAND(cmd_su) {
        announce_connect(target, 0, num);
        check_last(target, match->addr, match->ip); /* set last, lastsite, give paycheck */
        queue_eol(match);
+#ifdef USE_MAILER
        if(command_check_byname(target, "@MAIL"))
          check_mail(target, 0, 0);
        set_player_folder(target, 0);
+#endif
        do_look_around(target);
        if(Haven(target))
          notify(player, T("Your HAVEN flag is set.  You cannot receive pages."));
@@ -5665,7 +5690,9 @@ static int do_su_exit(DESC *d) {
     /* Clear path_entry spot */
     d->su_exit_path = path_entry->next;
     mush_free(path_entry, "SU_PATH_ENTRY");
+#ifdef USE_MAILER
     d->mailp = find_exact_starting_point(d->player);
+#endif
     is_hidden = Can_Hide(d->player) && Dark(d->player);
     DESC_ITER_CONN(c)
       if(c->player == d->player) {
@@ -5678,9 +5705,11 @@ static int do_su_exit(DESC *d) {
     announce_connect(d->player, 0, num);
     check_last(d->player, d->addr, d->ip); /* set last, lastsite, give paycheck */
     queue_eol(d);
+#ifdef USE_MAILER
     if(command_check_byname(d->player, "@MAIL"))
       check_mail(d->player, 0, 0);
     set_player_folder(d->player, 0);
+#endif
     do_look_around(d->player);
     if(Haven(d->player))
       notify(d->player, T("Your HAVEN flag is set.  You cannot receive pages."));
index 71912aec276bf653b7f28d64acd14c1884d7d9f4..eac532d36c0e3d66ed660c5e86601883e7b66504 100644 (file)
@@ -576,6 +576,7 @@ COMMAND (cmd_lset) {
   do_lset(player, arg_left, arg_right);
 }
 
+#ifdef USE_MAILER
 COMMAND (cmd_mail) {
   int urgent = SW_ISSET(sw, SWITCH_URGENT);
   int silent = SW_ISSET(sw, SWITCH_SILENT);
@@ -664,6 +665,7 @@ COMMAND (cmd_malias) {
   else
     do_malias(player, arg_left, arg_right);
 }
+#endif
 
 COMMAND (cmd_map) {
   unsigned int flags = DOL_MAP;
index 1f70c1e815f8041b78db8ccb40f07d049fbcc48c..d71f3a5d1e5739a70200b734e177e6084f738f57 100644 (file)
@@ -180,12 +180,14 @@ COMLIST commands[] = {
    CMD_T_ANY | CMD_T_NOGAGGED | CMD_T_GOD, "POWER^SITE"},
   {"@LSET", NULL, cmd_lset,
    CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, NULL},
+#ifdef USE_MAILER
   {"@MAIL",
    "NOEVAL NOSIG STATS DSTATS FSTATS DEBUG NUKE FOLDERS UNFOLDER LIST READ CLEAR UNCLEAR PURGE FILE TAG UNTAG FWD FORWARD SEND SILENT URGENT",
    cmd_mail, CMD_T_ANY | CMD_T_EQSPLIT, NULL},
   {"@MALIAS",
    "SET CREATE DESTROY DESCRIBE RENAME STATS CHOWN NUKE ADD REMOVE LIST ALL WHO MEMBERS USEFLAG SEEFLAG",
    cmd_malias, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, NULL},
+#endif
   {"@MAP", "DELIMIT", cmd_map, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_NOPARSE,
    NULL},
   {"@MOTD", "CONNECT LIST DOWN FULL", cmd_motd,
index 9fd662694b62dae7fe8853645939945203197588..fa65768074554dce4b638289053d90a5ee0a4d87 100644 (file)
@@ -62,8 +62,10 @@ COBRA_CONF conftable[] = {
   {"crash_database", cf_str, options.crash_db, sizeof options.crash_db, 0,
    "files"}
   ,
+#ifdef USE_MAILER
   {"mail_database", cf_str, options.mail_db, sizeof options.mail_db, 0, "files"}
   ,
+#endif
   {"chat_database", cf_str, options.chatdb, sizeof options.chatdb, 0, "files"}
   ,
   {"compress_suffix", cf_str, options.compresssuff, sizeof options.compresssuff,
@@ -1053,7 +1055,9 @@ conf_default_set(void)
   options.chan_cost = 1000;
   options.max_player_chans = 3;
   options.max_channels = 200;
+#ifdef USE_MAILER
   strcpy(options.mail_db, "data/maildb");
+#endif
   options.player_start = 0;
   options.guest_start = options.player_start;
   options.master_room = 2;
index 822b38ad6c8c0e493e1a08ac56fd77c647c7a39f..0867036cb8d92a47eaf558eda0a040efa5d43012 100644 (file)
@@ -855,9 +855,11 @@ clear_player(dbref thing)
   char alias[BUFFER_LEN + 1];
 
   /* Clear out mail. */
+#ifdef USE_MAILER
   do_mail_clear(thing, NULL);
   do_mail_purge(thing);
   malias_cleanup(thing);
+#endif
 
 #ifdef CHAT_SYSTEM
   /* Chown any chat channels they own to God */
index 9dfae36a8f419c7af4bcd2b29a8161c692cdda7c..bb3bc75dac82fa53c7dc4fc9018ae8d3570622f6 100644 (file)
@@ -381,7 +381,9 @@ FUNTAB flist[] = {
   {"FLIP", fun_flip, 1, -1, FN_REG},
   {"FLOORDIV", fun_floordiv, 2, 2, FN_REG},
   {"FOLD", fun_fold, 2, 4, FN_REG},
+#ifdef USE_MAILER
   {"FOLDERSTATS", fun_folderstats, 0, 2, FN_REG},
+#endif
   {"FOLLOWERS", fun_followers, 1, 1, FN_REG},
   {"FOLLOWING", fun_following, 1, 1, FN_REG},
   {"FOREACH", fun_foreach, 2, 4, FN_REG},
@@ -469,6 +471,7 @@ FUNTAB flist[] = {
   {"LVTHINGS", fun_dbwalker, 1, 1, FN_REG},
   {"LWHO", fun_lwho, 0, 1, FN_REG},
   {"LWHOID", fun_lwho, 0, 1, FN_REG},
+#ifdef USE_MAILER
   {"MAIL", fun_mail, 0, 2, FN_REG},
   {"MAILFROM", fun_mailfrom, 1, 2, FN_REG},
   {"MAILSTATS", fun_mailstats, 1, 1, FN_REG},
@@ -477,6 +480,7 @@ FUNTAB flist[] = {
   {"MAILSTATUS", fun_mailstatus, 1, 2, FN_REG},
   {"MAILSUBJECT", fun_mailsubject, 1, 2, FN_REG},
   {"MAILTIME", fun_mailtime, 1, 2, FN_REG},
+#endif
   {"MAP", fun_map, 2, 4, FN_REG},
   {"MAPSQL", fun_mapsql, 2, 4, FN_REG},
   {"MATCH", fun_match, 2, 3, FN_REG},
index fd79b9583cc09a1ed87d81c81d479bed1bb32eee..fc90a04ddaa51421cc112cb4b71d928d3a58537e 100644 (file)
@@ -411,6 +411,7 @@ dump_database_internal(void)
       perror(realtmpfl);
       longjmp(db_err, 1);
     }
+#ifdef USE_MAILER
     sprintf(realdumpfile, "%s%s", options.mail_db, options.compresssuff);
     strcpy(tmpfl, make_new_epoch_file(options.mail_db, epoch));
     sprintf(realtmpfl, "%s%s", tmpfl, options.compresssuff);
@@ -430,6 +431,7 @@ dump_database_internal(void)
        longjmp(db_err, 1);
       }
     }
+#endif
 #ifdef CHAT_SYSTEM 
     sprintf(realdumpfile, "%s%s", options.chatdb, options.compresssuff);
     strcpy(tmpfl, make_new_epoch_file(options.chatdb, epoch));
@@ -508,7 +510,9 @@ mush_panic(const char *message)
       } else {
        do_rawlog(LT_ERR, T("DUMPING: %s"), panicfile);
        db_write(f, DBF_PANIC);
+#ifdef USE_MAILER
        dump_mail(f);
+#endif
 #ifdef CHAT_SYSTEM
        save_chatdb(f);
 #endif /* CHAT_SYSTEM */
@@ -858,7 +862,9 @@ init_game_dbs(void)
   FILE *f;
   int c;
   const char *infile, *outfile;
+#ifdef USE_MAILER
   const char *mailfile;
+#endif
   const char *flag_file;
   int panicdb;
 
@@ -869,7 +875,9 @@ init_game_dbs(void)
   infile = restarting ? options.output_db : options.input_db;
   outfile = options.output_db;
   flag_file = options.flagdb;
+#ifdef USE_MAILER
   mailfile = options.mail_db;
+#endif
   strcpy(globals.dumpfile, outfile);
 
   /* read small text files into cache */
@@ -962,6 +970,7 @@ init_game_dbs(void)
     if (!GoodObject(GOD) || (!IsPlayer(GOD)))
       do_rawlog(LT_ERR, T("WARNING: God (#%d) is NOT a player."), GOD);
 
+#ifdef USE_MAILER
     /* read mail database */
     mail_init();
 
@@ -985,6 +994,7 @@ init_game_dbs(void)
         db_close(f);
       }
     }
+#endif /* USE_MAILER */
 
 #ifdef CHAT_SYSTEM
     init_chatdb();
index f47bd1da7c2d272045ab8f817702fcdfc504898c..613fdd423c0a44d6a22a86256a32bdda02a98a6c 100644 (file)
@@ -563,7 +563,9 @@ pw_player_connect(DESC * d, char *input __attribute__ ((__unused__)))
   add_to_exit_path(d, d->player);
   announce_disconnect(d->player);
   d->player = d->pinfo.object;
+#ifdef USE_MAILER
   d->mailp = (MAIL *) find_exact_starting_point(d->pinfo.object);
+#endif
   /* We're good @su him */
   is_hidden = Can_Hide(d->pinfo.object) && Dark(d->pinfo.object);
   DESC_ITER_CONN(match)
@@ -582,8 +584,8 @@ pw_player_connect(DESC * d, char *input __attribute__ ((__unused__)))
 #ifdef USE_MAILER
   if (command_check_byname(d->pinfo.object, "@MAIL"))
     check_mail(d->pinfo.object, 0, 0);
-#endif
   set_player_folder(d->pinfo.object, 0);
+#endif
   do_look_around(d->pinfo.object);
   if (Haven(d->pinfo.object))
     notify(d->player,
index 9ddc82eab8e1aadaa1713955247a01dd15b114fa..0d9ed7d306b65879e9b11ede4ee60a2eacdb6617 100644 (file)
@@ -139,11 +139,13 @@ migrate_stuff(int amount)
     for (lptr = Locks(end_obj); lptr; lptr = L_NEXT(lptr))
       if (L_KEY(lptr) != NULL_CHUNK_REFERENCE)
        actual++;
+#ifdef USE_MAILER
     if (IsPlayer(end_obj)) {
       for (mp = find_exact_starting_point(end_obj); mp; mp = mp->next)
        if (mp->msgid != NULL_CHUNK_REFERENCE)
          actual++;
     }
+#endif
     end_obj = (end_obj + 1) % db_top;
   } while (actual < amount && end_obj != start_obj);
 
@@ -177,6 +179,7 @@ migrate_stuff(int amount)
        refs[actual] = &(lptr->key);
        actual++;
       }
+#ifdef USE_MAILER
     if (IsPlayer(start_obj)) {
       for (mp = find_exact_starting_point(start_obj); mp; mp = mp->next)
        if (mp->msgid != NULL_CHUNK_REFERENCE) {
@@ -184,6 +187,7 @@ migrate_stuff(int amount)
          actual++;
        }
     }
+#endif
     start_obj = (start_obj + 1) % db_top;
   } while (start_obj != end_obj);
 
index 2b289570b604963917fa6abc625295d16b90af4a..73344030bf7aed3a2cd22825c70c1eff4a60b583 100644 (file)
--- a/src/wiz.c
+++ b/src/wiz.c
@@ -1076,8 +1076,10 @@ do_debug_examine(dbref player, const char *name)
 
   switch (Typeof(thing)) {
   case TYPE_PLAYER:
+#ifdef USE_MAILER
     mp = desc_mail(thing);
     notify_format(player, T("First mail sender: %d"), mp ? mp->from : NOTHING);
+#endif
   case TYPE_THING:
     notify_format(player, "Location: %d", Location(thing));
     notify_format(player, "Home: %d", Home(thing));