[PENNMUSH-ANNOUNCE] 1.7.5-patch09

dunemush@pennmush.org dunemush at pennmush.org
Sat, 20 Jul 2002 12:09:55 -0500


This is patch09 to PennMUSH 1.7.5. After applying this patch, you will
have version 1.7.5p9

To apply this patch, save it to a file in your top-level MUSH directory,
and do the following:
	patch -p1 < 1.7.5-patch09
	make install

If you use GNU patch 2.2, you probably want the above to be 'patch -b -p1',
not just 'patch -p1'.

Unix (or cygwin) users need not worry about failed hunks in src/switchinc.c,
hdrs/switches.h, hdrs/cmds.h, or hdrs/funs.h. These files are automatically
rebuilt on compile.

Then @shutdown and restart your MUSH.
    - Alan/Javelin

In this patch:

Minor Changes:
   * /noeval switch added to @wall/@rwall/@wizwall and variants.
     Suggested by Philip Mak.
Fixes:
   * Added a missing space in the @function report for softcoded 
     @functions. [SW]
   * MUX-style @function foo=obj/attr works right. [SW]
   * Cleaned up some multiple includes of the same header files. [SW]
   * Lots of cleanup of old _() macros and similar by Vadiv@M*U*S*H.
   * Added help for @stats/table. Suggested by Intrevis@M*U*S*H.
   * Fixes to csrimalloc #ifdefs that broke in last patchlevel. [SW]
   * A typo that could crash @function on certain operating systems
     has been fixed. Report by Jeff Heinen.
   * Improved switch() help. [SW]
   * Changes in the way switchinc.c is generated, to reduce the number
     of patches that attempt to patch it due to indentation changes. [SW]

Prereq: 1.7.5p8
*** 1_7_5.214/Patchlevel Thu, 04 Jul 2002 14:33:11 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.9 600)
--- 1_7_5.224(w)/Patchlevel Tue, 16 Jul 2002 21:32:47 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.10 600)
***************
*** 1,2 ****
  Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.5p8
--- 1,2 ----
  Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.5p9
*** 1_7_5.214/CHANGES.174 Wed, 19 Jun 2002 21:47:23 -0500 dunemush (pennmush/8_CHANGES 1.219.1.72.1.65 600)
--- 1_7_5.224(w)/CHANGES.174 Sat, 20 Jul 2002 12:05:16 -0500 dunemush (pennmush/8_CHANGES 1.219.1.72.1.70 600)
***************
*** 18,23 ****
--- 18,34 ----
  
  ==========================================================================
  
+ Version 1.7.4 patchlevel 20		       June 14, 2002
+ 
+ Fixes:
+   * Help semaphores4 typo fixed by Mike Griffiths.
+   * See_All players now see hidden connected mail senders. Suggested
+     by Philip Mak.
+   * spellnum could introduce spurious spaces. Reported by Intrevis@M*U*S*H.
+   * table() sometimes produced spurious blank rows. Reported by
+     Nymeria@M*U*S*H. This is the first attempt at a fix.
+   * switch() help improved. [SW]
+ 
  Version 1.7.4 patchlevel 19		       June 14, 2002
  
  Minor changes:
*** 1_7_5.214/CHANGES Thu, 04 Jul 2002 14:34:07 -0500 dunemush (pennmush/g/7_CHANGES 1.27.1.43 600)
--- 1_7_5.224(w)/CHANGES Sat, 20 Jul 2002 11:49:33 -0500 dunemush (pennmush/g/7_CHANGES 1.27.1.49 600)
***************
*** 18,23 ****
--- 18,42 ----
  
  ==========================================================================
  
+ Version 1.7.5 patchlevel 9                     July 16, 2002
+ 
+ Minor Changes:
+    * /noeval switch added to @wall/@rwall/@wizwall and variants.
+      Suggested by Philip Mak.
+ Fixes:
+    * Added a missing space in the @function report for softcoded 
+      @functions. [SW]
+    * MUX-style @function foo=obj/attr works right. [SW]
+    * Cleaned up some multiple includes of the same header files. [SW]
+    * Lots of cleanup of old _() macros and similar by Vadiv@M*U*S*H.
+    * Added help for @stats/table. Suggested by Intrevis@M*U*S*H.
+    * Fixes to csrimalloc #ifdefs that broke in last patchlevel. [SW]
+    * A typo that could crash @function on certain operating systems
+      has been fixed. Report by Jeff Heinen.
+    * Improved switch() help. [SW]
+    * Changes in the way switchinc.c is generated, to reduce the number
+      of patches that attempt to patch it due to indentation changes. [SW]
+ 
  Version 1.7.5 patchlevel 8                     June 26, 2002
  
  Minor Changes:
***************
*** 55,60 ****
--- 74,80 ----
    * Since a Windows header #defines OPAQUE, which conflicts with a
      #define for the mush flag of the same name, rename
      our #define rather than #undefining the Windows one. [SW]
+   * Fixes from 1.7.4p19
  
  
  Version 1.7.5 patchlevel 7                     May 14, 2002
*** 1_7_5.214/game/txt/hlp/pennvers.hlp Thu, 04 Jul 2002 14:34:07 -0500 dunemush (pennmush/12_pennvers.h 1.169.1.42.1.3.1.2.2.2.1.1.1.3.1.1.1.5.1.4.1.1.1.1.1.1.1.1.1.5.1.6 600)
--- 1_7_5.224(w)/game/txt/hlp/pennvers.hlp Sat, 20 Jul 2002 12:00:02 -0500 dunemush (pennmush/12_pennvers.h 1.169.1.42.1.3.1.2.2.2.1.1.1.3.1.1.1.5.1.4.1.1.1.1.1.1.1.1.1.5.1.1.1.5 600)
***************
*** 1,5 ****
  & changes
! & 1.7.5p8
  This is a list of changes in this patchlevel which are probably of
  interest to players. More information about new commands and functions
  can probably be gotten via 'help <name of whatever>'. 'help credits'
--- 1,5 ----
  & changes
! & 1.7.5p9
  This is a list of changes in this patchlevel which are probably of
  interest to players. More information about new commands and functions
  can probably be gotten via 'help <name of whatever>'. 'help credits'
***************
*** 11,16 ****
--- 11,36 ----
  A list of the patchlevels associated with each release can
  be read in 'help patchlevels'.
  
+ Version 1.7.5 patchlevel 9                     July 16, 2002
+ 
+ Minor Changes:
+    * /noeval switch added to @wall/@rwall/@wizwall and variants.
+      Suggested by Philip Mak.
+ Fixes:
+    * Added a missing space in the @function report for softcoded 
+      @functions. [SW]
+    * MUX-style @function foo=obj/attr works right. [SW]
+    * Cleaned up some multiple includes of the same header files. [SW]
+    * Lots of cleanup of old _() macros and similar by Vadiv@M*U*S*H.
+    * Added help for @stats/table. Suggested by Intrevis@M*U*S*H.
+    * Fixes to csrimalloc #ifdefs that broke in last patchlevel. [SW]
+    * A typo that could crash @function on certain operating systems
+      has been fixed. Report by Jeff Heinen.
+    * Improved switch() help. [SW]
+    * Changes in the way switchinc.c is generated, to reduce the number
+      of patches that attempt to patch it due to indentation changes. [SW]
+ 
+ & 1.7.5p8
  Version 1.7.5 patchlevel 8                     June 26, 2002
  
  Minor Changes:
***************
*** 48,53 ****
--- 68,74 ----
    * Since a Windows header #defines OPAQUE, which conflicts with a
      #define for the mush flag of the same name, rename
      our #define rather than #undefining the Windows one. [SW]
+   * Fixes from 1.7.4p19
  
  
  & 1.7.5p7
***************
*** 308,313 ****
--- 329,346 ----
    * Indentation fixes [SW]
    * Fixes up to 1.7.4p12 merged in.
  
+ & 1.7.4p20
+ Version 1.7.4 patchlevel 20		       June 14, 2002
+ 
+ Fixes:
+   * Help semaphores4 typo fixed by Mike Griffiths.
+   * See_All players now see hidden connected mail senders. Suggested
+     by Philip Mak.
+   * spellnum could introduce spurious spaces. Reported by Intrevis@M*U*S*H.
+   * table() sometimes produced spurious blank rows. Reported by
+     Nymeria@M*U*S*H. This is the first attempt at a fix.
+ 
+ 
  & 1.7.4p19
  Version 1.7.4 patchlevel 19		       June 14, 2002
  
***************
*** 5428,5435 ****
  For information on a specific patchlevel of one of the versions listed,
  type 'help <version>p<patchlevel>'. For example, 'help 1.7.2p3'
  
! 1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8
! 1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
  1.7.3: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
  1.7.2: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
         19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35
--- 5461,5469 ----
  For information on a specific patchlevel of one of the versions listed,
  type 'help <version>p<patchlevel>'. For example, 'help 1.7.2p3'
  
! 1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
! 1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
!        19, 20
  1.7.3: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
  1.7.2: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
         19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35
*** 1_7_5.214/game/txt/hlp/penntop.hlp Mon, 10 Jun 2002 17:43:21 -0500 dunemush (pennmush/13_penntop.hl 1.2.1.27.1.3.1.2.1.2.1.1.1.1.1.1.1.3 600)
--- 1_7_5.224(w)/game/txt/hlp/penntop.hlp Mon, 08 Jul 2002 21:41:39 -0500 dunemush (pennmush/13_penntop.hl 1.2.1.27.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.2 600)
***************
*** 1347,1353 ****
    SEMAPHORE of -1, to enclose commands in an @wait, and to
    conclude the set of commands with an @notify me:
  
!   > &doit obj = $doit: @wait me={&doer = %N; @tr me/report}
    > &report obj = "[v(doer)] did it!; @notify me
    > @startup obj = @drain me; @notify me
    > @notify obj
--- 1347,1353 ----
    SEMAPHORE of -1, to enclose commands in an @wait, and to
    conclude the set of commands with an @notify me:
  
!   > &doit obj = $doit: @wait me={&doer me = %N; @tr me/report}
    > &report obj = "[v(doer)] did it!; @notify me
    > @startup obj = @drain me; @notify me
    > @notify obj
*** 1_7_5.214/game/txt/hlp/pennfunc.hlp Wed, 19 Jun 2002 21:51:19 -0500 dunemush (pennmush/16_pennfunc.h 1.2.1.50.1.1.1.1.1.2.1.7.1.8.1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.1.1.2 600)
--- 1_7_5.224(w)/game/txt/hlp/pennfunc.hlp Sat, 20 Jul 2002 12:05:18 -0500 dunemush (pennmush/16_pennfunc.h 1.2.1.50.1.1.1.1.1.2.1.7.1.8.1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.1.1.1.1.2 600)
***************
*** 3084,3090 ****
    <expr>ssions, without spaces between them, so they match similarly to
    @switch, while switch() and case() match more like @switch/first.
  
! See HELP SWITCH2 for examples.
  & SWITCH2
    Examples of switch() and related functions:
      > say switch(test, *a*, foo, *b*, bar, *t*, neat, baz)
--- 3084,3090 ----
    <expr>ssions, without spaces between them, so they match similarly to
    @switch, while switch() and case() match more like @switch/first.
  
! See HELP SWITCH WILDCARDS for more, and HELP SWITCH2 for examples
  & SWITCH2
    Examples of switch() and related functions:
      > say switch(test, *a*, foo, *b*, bar, *t*, neat, baz)
***************
*** 3097,3103 ****
      You say, "moof"
      > say case(moof, *f, foo, moof, bar, baz)
      You say, "bar"
!  
  & T()
    t(<expression>)
  
--- 3097,3127 ----
      You say, "moof"
      > say case(moof, *f, foo, moof, bar, baz)
      You say, "bar"
! & SWITCH WILDCARDS
!   @switch, @select, switch() and switchall() normally do wildcard
!   matching between their first argument and the <expr>ession
!   arguments, with the normal * and ? special characters. However, if
!   one of the <expr>essions starts with < or >, a less than or greater
!   than check is done instead of wildcard matching for that pair.
! 
!   switch(X, >Y, A, B) returns A if X is greater than Y,
!   and B if X is less than or equal to Y.
!   
!   switch(X, <Y, A, B) returns A if X is less than Y,
!   and B if X is greater than or equal to Y.
! 
!   If X and Y are numbers, the test is like using gt() or lt(). gte()
!   and lte() can be simulated by using Y'=Y-1 and Y'=Y+1.
! 
!   If X and Y are non-numeric strings, the result of comp(X,Y) is used
!   to determine which string is alphabetically before (Less than) the other.
! 
!   If you need to have a leading < or > that's treated like a normal
!   character in a wildcard match, use \\< or \\> (The \\ will turn into
!   \ when the argument is evaluated, and then that single \ will stop
!   the greater/less than check).
! 
! See also: HELP WILDCARDS
  & T()
    t(<expression>)
  
*** 1_7_5.214/game/txt/hlp/penncmd.hlp Thu, 04 Jul 2002 14:47:59 -0500 dunemush (pennmush/18_penncmd.hl 1.2.1.1.1.47.1.1.1.1.1.3.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.10 600)
--- 1_7_5.224(w)/game/txt/hlp/penncmd.hlp Sat, 20 Jul 2002 12:05:20 -0500 dunemush (pennmush/18_penncmd.hl 1.2.1.1.1.47.1.1.1.1.1.3.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.2 600)
***************
*** 2706,2714 ****
    
  See also: @function, ACTION LISTS
  & @stats
!   @stats. Display the number of objects in the game broken down by 
!   object types.  Wizards can supply a player name to count only 
    objects owned by that player.
  & @success
    @success <object> [=<message>]. 
  
--- 2706,2719 ----
    
  See also: @function, ACTION LISTS
  & @stats
!   @stats [<player>]
!   @stats/table
! 
!   In its first form, display the number of objects in the game broken
!   down by object types.  Wizards can supply a player name to count only
    objects owned by that player.
+ 
+   In its second form, display statistics on internal tables.
  & @success
    @success <object> [=<message>]. 
  
***************
*** 2776,2782 ****
      &SWITCH_EX thing = $test:@switch hasflag(%#,PUPPET)=1,"Puppet!,"Not Puppet!
      test
      > thing says, "Not Puppet!"
! See also: @select, switch()
  & @teleport
    @teleport[/silent] [<object>=] <room>. 
  
--- 2781,2787 ----
      &SWITCH_EX thing = $test:@switch hasflag(%#,PUPPET)=1,"Puppet!,"Not Puppet!
      test
      > thing says, "Not Puppet!"
! See also: switch wildcards, @select, switch()
  & @teleport
    @teleport[/silent] [<object>=] <room>. 
  
*** 1_7_5.214/utils/mkcmds.sh Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/45_mkcmds.sh 1.7 700)
--- 1_7_5.224(w)/utils/mkcmds.sh Sat, 20 Jul 2002 11:59:38 -0500 dunemush (pennmush/45_mkcmds.sh 1.8 700)
***************
*** 35,40 ****
--- 35,41 ----
  touch ../hdrs/timestamp
  
  #rm ../hdrs/patches.h
+ echo "/* AUTOGENERATED FILE. DO NOT EDIT */" >> ../hdrs/temp.h
  echo "#ifndef _PATCH_H" >> ../hdrs/temp.h
  echo "#define _PATCH_H" >> ../hdrs/temp.h
  if [ "X$pat" = "X" ]; then
***************
*** 53,66 ****
  
  echo "Rebuilding command switch file"
  snum=1
  for s in `cat ../src/SWITCHES | sort`; do
    echo "#define SWITCH_$s $snum" >> ../hdrs/temp.h
!   echo "{"			 >> ../src/temp.c
!   echo "  \"$s\", SWITCH_$s"	 >> ../src/temp.c
!   echo "}"			 >> ../src/temp.c
    echo ","			 >> ../src/temp.c
    snum=`expr $snum + 1`
  done
  cmp -s ../hdrs/switches.h ../hdrs/temp.h
  cmpstat=$?
  if [ $cmpstat -eq 0 ]; then
--- 54,78 ----
  
  echo "Rebuilding command switch file"
  snum=1
+ echo "/* AUTOGENERATED FILE. DO NOT EDIT */" >> ../src/temp.c
+ echo "/* AUTOGENERATED FILE. DO NOT EDIT */" >> ../hdrs/temp.h
+ echo "SWITCH_VALUE switch_list[] = {" >> ../src/temp.c
  for s in `cat ../src/SWITCHES | sort`; do
    echo "#define SWITCH_$s $snum" >> ../hdrs/temp.h
!   echo -n "  {"			 >> ../src/temp.c
!   echo -n "\"$s\", SWITCH_$s"	 >> ../src/temp.c
!   echo -n "}"			 >> ../src/temp.c
    echo ","			 >> ../src/temp.c
    snum=`expr $snum + 1`
  done
+ echo "{NULL, 0}" >> ../src/temp.c
+ echo "};" >> ../src/temp.c
+ 
+ # NUM_BYTES from command.h * 8.
+ if [ $snum -gt 160 ]; then
+     echo "You have too many switches defined!"
+ fi
+ 
  cmp -s ../hdrs/switches.h ../hdrs/temp.h
  cmpstat=$?
  if [ $cmpstat -eq 0 ]; then
***************
*** 77,82 ****
--- 89,95 ----
  fi
  
  echo "Rebuilding command prototype file"
+ echo "/* AUTOGENERATED FILE. DO NOT EDIT */" >> ../hdrs/temp.h
  for c in `grep "^COMMAND *(" ../src/*.c | cut -f2 -d\( | cut -f1 -d\) | sort | uniq`; do
    echo >>../hdrs/temp.h "COMMAND_PROTO($c);"
  done
***************
*** 89,94 ****
--- 102,108 ----
  fi
  
  echo "Rebuilding function prototype file"
+ echo "/* AUTOGENERATED FILE. DO NOT EDIT */" >> ../hdrs/temp.h
  for c in `grep "^FUNCTION *(" ../src/*.c | cut -f2 -d\( | cut -f1 -d\) | sort | uniq`; do
    echo >>../hdrs/temp.h "FUNCTION_PROTO($c);"
  done
*** 1_7_5.214/src/funlocal.dst Wed, 06 Sep 2000 20:17:09 -0500 dunemush (pennmush/b/20_funlocal.d 1.3 660)
--- 1_7_5.224(w)/src/funlocal.dst Sat, 20 Jul 2002 12:07:45 -0500 dunemush (pennmush/b/20_funlocal.d 1.4 660)
***************
*** 24,30 ****
  #include "confmagic.h"
  #include "function.h"
  
! void local_functions _((void));
  
  /* Here you can use the new add_function instead of hacking into function.c
   * Example included :)
--- 24,30 ----
  #include "confmagic.h"
  #include "function.h"
  
! void local_functions(void);
  
  /* Here you can use the new add_function instead of hacking into function.c
   * Example included :)
*** 1_7_5.214/src/wiz.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/b/23_wiz.c 1.44.1.1.1.1.1.2.1.7.1.1.1.1.1.1.1.1.1.1.1.6 660)
--- 1_7_5.224(w)/src/wiz.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/23_wiz.c 1.44.1.1.1.1.1.2.1.7.1.1.1.1.1.1.1.1.1.1.1.8 660)
***************
*** 1087,1098 ****
  	       dbref **result, PE_Info * pe_info);
  
  void
! do_search(player, arg1, arg3)
!     dbref player;
!     const char *arg1;
!     char **arg3;
  {
!   char tbuf[BUFFER_LEN], *arg2 = tbuf;
    dbref *results = NULL;
    int nresults;
  
--- 1087,1095 ----
  	       dbref **result, PE_Info * pe_info);
  
  void
! do_search(dbref player, const char *arg1, char **arg3)
  {
!   char tbuf[BUFFER_LEN], *arg2 = tbuf, *tbp;
    dbref *results = NULL;
    int nresults;
  
***************
*** 1142,1151 ****
      /* Split the results up by type and report. */
      int n;
      int nthings = 0, nexits = 0, nrooms = 0, nplayers = 0;
-     char *tbuf1;
      dbref *things, *exits, *rooms, *players;
  
-     tbuf1 = (char *) mush_malloc(BUFFER_LEN, "string");
      things = (dbref *) mush_malloc(sizeof(dbref) * nresults, "dbref_list");
      exits = (dbref *) mush_malloc(sizeof(dbref) * nresults, "dbref_list");
      rooms = (dbref *) mush_malloc(sizeof(dbref) * nresults, "dbref_list");
--- 1139,1146 ----
***************
*** 1174,1227 ****
      if (nrooms) {
        notify(player, "\nROOMS:");
        for (n = 0; n < nrooms; n++) {
! 	strcpy(tbuf1, object_header(player, Owner(rooms[n])));
! 	notify_format(player, T("%s [owner: %s]"),
! 		      object_header(player, rooms[n]), tbuf1);
        }
      }
  
      if (nexits) {
        dbref from, to;
-       char *tbuf2;
  
-       tbuf2 = (char *) mush_malloc(BUFFER_LEN, "string");
        notify(player, "\nEXITS:");
        for (n = 0; n < nexits; n++) {
  	if (Source(exits[n]) == NOTHING)
  	  from = NOTHING;
  	else
  	  from = Source(exits[n]);
  	to = Destination(exits[n]);
! 	strcpy(tbuf1,
! 	       (from == NOTHING) ? "NOWHERE" : object_header(player, from));
! 	strcpy(tbuf2, (to == NOTHING) ? "NOWHERE" : object_header(player, to));
! 	notify_format(player, T("%s [from %s to %s]"),
! 		      object_header(player, exits[n]), tbuf1, tbuf2);
        }
-       mush_free((Malloc_t) tbuf2, "string");
      }
  
      if (nthings) {
        notify(player, "\nOBJECTS:");
        for (n = 0; n < nthings; n++) {
! 	strcpy(tbuf1, object_header(player, Owner(things[n])));
! 	notify_format(player, T("%s [owner: %s]"),
! 		      object_header(player, things[n]), tbuf1);
        }
      }
  
      if (nplayers) {
        int is_wizard = Search_All(player) || See_All(player);
- 
        notify(player, "\nPLAYERS:");
        for (n = 0; n < nplayers; n++) {
! 	strcpy(tbuf1, object_header(player, players[n]));
! 	if (is_wizard) {
! 	  strcat(tbuf1,
! 		 tprintf(T(" [location: %s]"),
! 			 object_header(player, Location(players[n]))));
! 	}
! 	notify(player, tbuf1);
        }
      }
  
--- 1169,1231 ----
      if (nrooms) {
        notify(player, "\nROOMS:");
        for (n = 0; n < nrooms; n++) {
! 	tbp = tbuf;
! 	safe_format(tbuf, &tbp, "%s [owner: ", object_header(player, rooms[n]));
! 	safe_str(object_header(player, Owner(rooms[n])), tbuf, &tbp);
! 	safe_chr(']', tbuf, &tbp);
! 	*tbp = '\0';
! 	notify(player, tbuf);
        }
      }
  
      if (nexits) {
        dbref from, to;
  
        notify(player, "\nEXITS:");
        for (n = 0; n < nexits; n++) {
+ 	tbp = tbuf;
  	if (Source(exits[n]) == NOTHING)
  	  from = NOTHING;
  	else
  	  from = Source(exits[n]);
  	to = Destination(exits[n]);
! 	safe_format(tbuf, &tbp, "%s [from ", object_header(player, exits[n]));
! 	safe_str((from == NOTHING) ? "NOWHERE" : object_header(player, from),
! 		 tbuf, &tbp);
! 	safe_str(" to ", tbuf, &tbp);
! 	safe_str((to == NOTHING) ? "NOWHERE" : object_header(player, to),
! 		 tbuf, &tbp);
! 	safe_chr(']', tbuf, &tbp);
! 	*tbp = '\0';
! 	notify(player, tbuf);
        }
      }
  
      if (nthings) {
        notify(player, "\nOBJECTS:");
        for (n = 0; n < nthings; n++) {
! 	tbp = tbuf;
! 	safe_format(tbuf, &tbp, "%s [owner: ",
! 		    object_header(player, things[n]));
! 	safe_str(object_header(player, Owner(things[n])), tbuf, &tbp);
! 	safe_chr(']', tbuf, &tbp);
! 	*tbp = '\0';
! 	notify(player, tbuf);
        }
      }
  
      if (nplayers) {
        int is_wizard = Search_All(player) || See_All(player);
        notify(player, "\nPLAYERS:");
        for (n = 0; n < nplayers; n++) {
! 	tbp = tbuf;
! 	safe_str(object_header(player, players[n]), tbuf, &tbp);
! 	if (is_wizard)
! 	  safe_format(tbuf, &tbp,
! 		      T(" [location: %s]"),
! 		      object_header(player, Location(players[n])));
! 	*tbp = '\0';
! 	notify(player, tbuf);
        }
      }
  
***************
*** 1230,1236 ****
  		  T
  		  ("Totals: Rooms...%d  Exits...%d  Objects...%d  Players...%d"),
  		  nrooms, nexits, nthings, nplayers);
-     mush_free((Malloc_t) tbuf1, "string");
      mush_free((Malloc_t) rooms, "dbref_list");
      mush_free((Malloc_t) exits, "dbref_list");
      mush_free((Malloc_t) things, "dbref_list");
--- 1234,1239 ----
*** 1_7_5.214/src/wild.c Thu, 25 Oct 2001 15:04:15 -0500 dunemush (pennmush/b/24_wild.c 1.11.1.1.1.2 660)
--- 1_7_5.224(w)/src/wild.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/24_wild.c 1.11.1.1.1.3 660)
***************
*** 49,56 ****
  						/* big to match tprintf */
  
  static int wild1
! _((const char *tstr, const char *dstr, int arg, char *wbuf, int cs));
! static int wild _((const char *s, const char *d, int p, int cs));
  
  /* ---------------------------------------------------------------------------
   * quick_wild: do a wildcard match, without remembering the wild data.
--- 49,56 ----
  						/* big to match tprintf */
  
  static int wild1
!   (const char *tstr, const char *dstr, int arg, char *wbuf, int cs);
! static int wild(const char *s, const char *d, int p, int cs);
  
  /* ---------------------------------------------------------------------------
   * quick_wild: do a wildcard match, without remembering the wild data.
*** 1_7_5.214/src/warnings.c Tue, 02 Apr 2002 08:20:43 -0600 dunemush (pennmush/b/25_warnings.c 1.20 660)
--- 1_7_5.224(w)/src/warnings.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/25_warnings.c 1.21 660)
***************
*** 11,24 ****
  #include "copyrite.h"
  #include "conf.h"
  #include "mushdb.h"
- #include "boolexp.h"
  #include "lock.h"
  #include "flags.h"
  #include "dbdefs.h"
  #include "externs.h"
  #include "match.h"
  #include "attrib.h"
- #include "boolexp.h"
  #include "confmagic.h"
  
  #ifdef USE_WARNINGS
--- 11,22 ----
*** 1_7_5.214/src/version.c Mon, 18 Jun 2001 10:36:58 -0500 dunemush (pennmush/b/26_version.c 1.6 660)
--- 1_7_5.224(w)/src/version.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/26_version.c 1.7 660)
***************
*** 22,28 ****
  #include "confmagic.h"
  
  extern time_t start_time;	/* from bsd.c */
! void do_version _((dbref player));
  
  void
  do_version(player)
--- 22,28 ----
  #include "confmagic.h"
  
  extern time_t start_time;	/* from bsd.c */
! void do_version(dbref player);
  
  void
  do_version(player)
*** 1_7_5.214/src/utils.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/b/27_utils.c 1.30.1.1.1.3 660)
--- 1_7_5.224(w)/src/utils.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/27_utils.c 1.30.1.1.1.4 660)
***************
*** 25,37 ****
  #ifdef I_UNISTD
  #include <unistd.h>
  #endif
- #include "conf.h"
  #ifdef WIN32
  #include <wtypes.h>
  #include <winbase.h>		/* For GetCurrentProcessId() */
  #endif
- #include <ctype.h>
- #include <fcntl.h>
  #include "conf.h"
  
  #ifdef MEM_CHECK
--- 25,34 ----
***************
*** 276,283 ****
  /* http://www.math.keio.ac.jp/matumoto/emt.html                    */
  /* email: matumoto@math.keio.ac.jp                                 */
  
- #include <stdio.h>
- 
  /* Period parameters */
  #define M 397
  #define MATRIX_A 0x9908b0dfUL	/* constant vector a */
--- 273,278 ----
*** 1_7_5.214/src/timer.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/b/29_timer.c 1.29.1.3 660)
--- 1_7_5.224(w)/src/timer.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/29_timer.c 1.29.1.4 660)
***************
*** 25,31 ****
  #include "match.h"
  #include "flags.h"
  #include "externs.h"
- #include "flags.h"
  #include "access.h"
  #ifdef MEM_CHECK
  #include "memcheck.h"
--- 25,30 ----
*** 1_7_5.214/src/help.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/f/32_help.c 1.4.1.2.1.1.1.3.2.2.1.1.2.1.1.2.1.2.1.2.1.3.1.3 660)
--- 1_7_5.224(w)/src/help.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/f/32_help.c 1.4.1.2.1.1.1.3.2.2.1.1.2.1.1.2.1.2.1.2.1.3.1.4 660)
***************
*** 31,41 ****
  
  static int help_init = 0;
  
! static void do_new_spitfile _((dbref player, char *arg1,
! 			       help_file *help_dat, int restricted));
  static const char *string_spitfile(help_file *help_dat, char *arg1);
  
! static void help_build_index _((help_file *h, int restricted));
  
  typedef struct TLIST {
    char topic[TOPIC_NAME_LEN + 1];
--- 31,41 ----
  
  static int help_init = 0;
  
! static void do_new_spitfile(dbref player, char *arg1,
! 			    help_file *help_dat, int restricted);
  static const char *string_spitfile(help_file *help_dat, char *arg1);
  
! static void help_build_index(help_file *h, int restricted);
  
  typedef struct TLIST {
    char topic[TOPIC_NAME_LEN + 1];
***************
*** 47,53 ****
  unsigned num_topics = 0;
  unsigned top_topics = 0;
  
! void write_topic _((long int p));
  
  #define TRUE 1
  #define FALSE 0
--- 47,53 ----
  unsigned num_topics = 0;
  unsigned top_topics = 0;
  
! void write_topic(long int p);
  
  #define TRUE 1
  #define FALSE 0
*** 1_7_5.214/src/switchinc.c Thu, 04 Jul 2002 16:16:18 -0500 dunemush (pennmush/b/32_switchinc. 1.3.1.2.1.6.1.18.1.2.1.2.2.5.1.4.2.4.1.1.1.2.1.5.1.2.1.5.2.1.1.10 660)
--- 1_7_5.224(w)/src/switchinc.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/32_switchinc. 1.3.1.2.1.6.1.18.1.2.1.2.2.5.1.4.2.4.1.1.1.2.1.5.1.2.1.5.2.1.1.12 660)
***************
*** 1,520 ****
! {
!   "ACCESS", SWITCH_ACCESS
! }
! ,
! {
!   "ADD", SWITCH_ADD
! }
! ,
! {
!   "ALL", SWITCH_ALL
! }
! ,
! {
!   "ANY", SWITCH_ANY
! }
! ,
! {
!   "ATTRIBS", SWITCH_ATTRIBS
! }
! ,
! {
!   "BAN", SWITCH_BAN
! }
! ,
! {
!   "BLIND", SWITCH_BLIND
! }
! ,
! {
!   "BRIEF", SWITCH_BRIEF
! }
! ,
! {
!   "CHECK", SWITCH_CHECK
! }
! ,
! {
!   "CHOWN", SWITCH_CHOWN
! }
! ,
! {
!   "CLEAR", SWITCH_CLEAR
! }
! ,
! {
!   "CMD", SWITCH_CMD
! }
! ,
! {
!   "COMMANDS", SWITCH_COMMANDS
! }
! ,
! {
!   "CONN", SWITCH_CONN
! }
! ,
! {
!   "CONNECT", SWITCH_CONNECT
! }
! ,
! {
!   "CONNECTED", SWITCH_CONNECTED
! }
! ,
! {
!   "CONTENTS", SWITCH_CONTENTS
! }
! ,
! {
!   "COSTS", SWITCH_COSTS
! }
! ,
! {
!   "COUNT", SWITCH_COUNT
! }
! ,
! {
!   "CREATE", SWITCH_CREATE
! }
! ,
! {
!   "DATABASE", SWITCH_DATABASE
! }
! ,
! {
!   "DB", SWITCH_DB
! }
! ,
! {
!   "DEBUG", SWITCH_DEBUG
! }
! ,
! {
!   "DECOMPILE", SWITCH_DECOMPILE
! }
! ,
! {
!   "DEFAULTS", SWITCH_DEFAULTS
! }
! ,
! {
!   "DELETE", SWITCH_DELETE
! }
! ,
! {
!   "DELIMIT", SWITCH_DELIMIT
! }
! ,
! {
!   "DESCRIBE", SWITCH_DESCRIBE
! }
! ,
! {
!   "DESTROY", SWITCH_DESTROY
! }
! ,
! {
!   "DISABLE", SWITCH_DISABLE
! }
! ,
! {
!   "DOWN", SWITCH_DOWN
! }
! ,
! {
!   "DSTATS", SWITCH_DSTATS
! }
! ,
! {
!   "EMIT", SWITCH_EMIT
! }
! ,
! {
!   "ENABLE", SWITCH_ENABLE
! }
! ,
! {
!   "ERR", SWITCH_ERR
! }
! ,
! {
!   "EXITS", SWITCH_EXITS
! }
! ,
! {
!   "FILE", SWITCH_FILE
! }
! ,
! {
!   "FIRST", SWITCH_FIRST
! }
! ,
! {
!   "FLAGS", SWITCH_FLAGS
! }
! ,
! {
!   "FOLDERS", SWITCH_FOLDERS
! }
! ,
! {
!   "FORWARD", SWITCH_FORWARD
! }
! ,
! {
!   "FSTATS", SWITCH_FSTATS
! }
! ,
! {
!   "FULL", SWITCH_FULL
! }
! ,
! {
!   "FUNCTIONS", SWITCH_FUNCTIONS
! }
! ,
! {
!   "FWD", SWITCH_FWD
! }
! ,
! {
!   "GAG", SWITCH_GAG
! }
! ,
! {
!   "GLOBALS", SWITCH_GLOBALS
! }
! ,
! {
!   "HEADER", SWITCH_HEADER
! }
! ,
! {
!   "HERE", SWITCH_HERE
! }
! ,
! {
!   "HIDE", SWITCH_HIDE
! }
! ,
! {
!   "ILIST", SWITCH_ILIST
! }
! ,
! {
!   "INVENTORY", SWITCH_INVENTORY
! }
! ,
! {
!   "IPRINT", SWITCH_IPRINT
! }
! ,
! {
!   "JOIN", SWITCH_JOIN
! }
! ,
! {
!   "LIST", SWITCH_LIST
! }
! ,
! {
!   "LOWERCASE", SWITCH_LOWERCASE
! }
! ,
! {
!   "ME", SWITCH_ME
! }
! ,
! {
!   "MEMBERS", SWITCH_MEMBERS
! }
! ,
! {
!   "MOD", SWITCH_MOD
! }
! ,
! {
!   "MORTAL", SWITCH_MORTAL
! }
! ,
! {
!   "MOTD", SWITCH_MOTD
! }
! ,
! {
!   "MUTE", SWITCH_MUTE
! }
! ,
! {
!   "NAME", SWITCH_NAME
! }
! ,
! {
!   "NO", SWITCH_NO
! }
! ,
! {
!   "NOEVAL", SWITCH_NOEVAL
! }
! ,
! {
!   "NOFLAGCOPY", SWITCH_NOFLAGCOPY
! }
! ,
! {
!   "NOISY", SWITCH_NOISY
! }
! ,
! {
!   "NOSIG", SWITCH_NOSIG
! }
! ,
! {
!   "NOSPACE", SWITCH_NOSPACE
! }
! ,
! {
!   "NOTIFY", SWITCH_NOTIFY
! }
! ,
! {
!   "NUKE", SWITCH_NUKE
! }
! ,
! {
!   "OFF", SWITCH_OFF
! }
! ,
! {
!   "ON", SWITCH_ON
! }
! ,
! {
!   "OUTSIDE", SWITCH_OUTSIDE
! }
! ,
! {
!   "OVERRIDE", SWITCH_OVERRIDE
! }
! ,
! {
!   "PANIC", SWITCH_PANIC
! }
! ,
! {
!   "PARANOID", SWITCH_PARANOID
! }
! ,
! {
!   "PLAYERS", SWITCH_PLAYERS
! }
! ,
! {
!   "PORT", SWITCH_PORT
! }
! ,
! {
!   "POSE", SWITCH_POSE
! }
! ,
! {
!   "PRESERVE", SWITCH_PRESERVE
! }
! ,
! {
!   "PRINT", SWITCH_PRINT
! }
! ,
! {
!   "PRIVS", SWITCH_PRIVS
! }
! ,
! {
!   "PURGE", SWITCH_PURGE
! }
! ,
! {
!   "QUICK", SWITCH_QUICK
! }
! ,
! {
!   "QUIET", SWITCH_QUIET
! }
! ,
! {
!   "READ", SWITCH_READ
! }
! ,
! {
!   "REBOOT", SWITCH_REBOOT
! }
! ,
! {
!   "REGISTER", SWITCH_REGISTER
! }
! ,
! {
!   "REMOVE", SWITCH_REMOVE
! }
! ,
! {
!   "RENAME", SWITCH_RENAME
! }
! ,
! {
!   "RESTORE", SWITCH_RESTORE
! }
! ,
! {
!   "RESTRICT", SWITCH_RESTRICT
! }
! ,
! {
!   "RETROACTIVE", SWITCH_RETROACTIVE
! }
! ,
! {
!   "ROOM", SWITCH_ROOM
! }
! ,
! {
!   "ROOMS", SWITCH_ROOMS
! }
! ,
! {
!   "ROYALTY", SWITCH_ROYALTY
! }
! ,
! {
!   "SEE", SWITCH_SEE
! }
! ,
! {
!   "SEEFLAG", SWITCH_SEEFLAG
! }
! ,
! {
!   "SELF", SWITCH_SELF
! }
! ,
! {
!   "SEND", SWITCH_SEND
! }
! ,
! {
!   "SET", SWITCH_SET
! }
! ,
! {
!   "SILENT", SWITCH_SILENT
! }
! ,
! {
!   "SKIPDEFAULTS", SWITCH_SKIPDEFAULTS
! }
! ,
! {
!   "SPEAK", SWITCH_SPEAK
! }
! ,
! {
!   "STATS", SWITCH_STATS
! }
! ,
! {
!   "SUMMARY", SWITCH_SUMMARY
! }
! ,
! {
!   "TABLES", SWITCH_TABLES
! }
! ,
! {
!   "TAG", SWITCH_TAG
! }
! ,
! {
!   "TELEPORT", SWITCH_TELEPORT
! }
! ,
! {
!   "TF", SWITCH_TF
! }
! ,
! {
!   "THINGS", SWITCH_THINGS
! }
! ,
! {
!   "TITLE", SWITCH_TITLE
! }
! ,
! {
!   "TRACE", SWITCH_TRACE
! }
! ,
! {
!   "UNCLEAR", SWITCH_UNCLEAR
! }
! ,
! {
!   "UNFOLDER", SWITCH_UNFOLDER
! }
! ,
! {
!   "UNGAG", SWITCH_UNGAG
! }
! ,
! {
!   "UNHIDE", SWITCH_UNHIDE
! }
! ,
! {
!   "UNMUTE", SWITCH_UNMUTE
! }
! ,
! {
!   "UNTAG", SWITCH_UNTAG
! }
! ,
! {
!   "UNTIL", SWITCH_UNTIL
! }
! ,
! {
!   "URGENT", SWITCH_URGENT
! }
! ,
! {
!   "USEFLAG", SWITCH_USEFLAG
! }
! ,
! {
!   "WHAT", SWITCH_WHAT
! }
! ,
! {
!   "WHO", SWITCH_WHO
! }
! ,
! {
!   "WIPE", SWITCH_WIPE
! }
! ,
! {
!   "WIZ", SWITCH_WIZ
! }
! ,
! {
!   "WIZARD", SWITCH_WIZARD
! }
! ,
! {
!   "YES", SWITCH_YES
! }
! ,
! {
!   "ZONE", SWITCH_ZONE
! }
! ,
--- 1,134 ----
! /* AUTOGENERATED FILE. DO NOT EDIT */
! SWITCH_VALUE switch_list[] = {
!   {"ACCESS", SWITCH_ACCESS},
!   {"ADD", SWITCH_ADD},
!   {"ALL", SWITCH_ALL},
!   {"ANY", SWITCH_ANY},
!   {"ATTRIBS", SWITCH_ATTRIBS},
!   {"BAN", SWITCH_BAN},
!   {"BLIND", SWITCH_BLIND},
!   {"BRIEF", SWITCH_BRIEF},
!   {"CHECK", SWITCH_CHECK},
!   {"CHOWN", SWITCH_CHOWN},
!   {"CLEAR", SWITCH_CLEAR},
!   {"CMD", SWITCH_CMD},
!   {"COMMANDS", SWITCH_COMMANDS},
!   {"CONN", SWITCH_CONN},
!   {"CONNECT", SWITCH_CONNECT},
!   {"CONNECTED", SWITCH_CONNECTED},
!   {"CONTENTS", SWITCH_CONTENTS},
!   {"COSTS", SWITCH_COSTS},
!   {"COUNT", SWITCH_COUNT},
!   {"CREATE", SWITCH_CREATE},
!   {"DATABASE", SWITCH_DATABASE},
!   {"DB", SWITCH_DB},
!   {"DEBUG", SWITCH_DEBUG},
!   {"DECOMPILE", SWITCH_DECOMPILE},
!   {"DEFAULTS", SWITCH_DEFAULTS},
!   {"DELETE", SWITCH_DELETE},
!   {"DELIMIT", SWITCH_DELIMIT},
!   {"DESCRIBE", SWITCH_DESCRIBE},
!   {"DESTROY", SWITCH_DESTROY},
!   {"DISABLE", SWITCH_DISABLE},
!   {"DOWN", SWITCH_DOWN},
!   {"DSTATS", SWITCH_DSTATS},
!   {"EMIT", SWITCH_EMIT},
!   {"ENABLE", SWITCH_ENABLE},
!   {"ERR", SWITCH_ERR},
!   {"EXITS", SWITCH_EXITS},
!   {"FILE", SWITCH_FILE},
!   {"FIRST", SWITCH_FIRST},
!   {"FLAGS", SWITCH_FLAGS},
!   {"FOLDERS", SWITCH_FOLDERS},
!   {"FORWARD", SWITCH_FORWARD},
!   {"FSTATS", SWITCH_FSTATS},
!   {"FULL", SWITCH_FULL},
!   {"FUNCTIONS", SWITCH_FUNCTIONS},
!   {"FWD", SWITCH_FWD},
!   {"GAG", SWITCH_GAG},
!   {"GLOBALS", SWITCH_GLOBALS},
!   {"HEADER", SWITCH_HEADER},
!   {"HERE", SWITCH_HERE},
!   {"HIDE", SWITCH_HIDE},
!   {"ILIST", SWITCH_ILIST},
!   {"INVENTORY", SWITCH_INVENTORY},
!   {"IPRINT", SWITCH_IPRINT},
!   {"JOIN", SWITCH_JOIN},
!   {"LIST", SWITCH_LIST},
!   {"LOWERCASE", SWITCH_LOWERCASE},
!   {"ME", SWITCH_ME},
!   {"MEMBERS", SWITCH_MEMBERS},
!   {"MOD", SWITCH_MOD},
!   {"MORTAL", SWITCH_MORTAL},
!   {"MOTD", SWITCH_MOTD},
!   {"MUTE", SWITCH_MUTE},
!   {"NAME", SWITCH_NAME},
!   {"NO", SWITCH_NO},
!   {"NOEVAL", SWITCH_NOEVAL},
!   {"NOFLAGCOPY", SWITCH_NOFLAGCOPY},
!   {"NOISY", SWITCH_NOISY},
!   {"NOSIG", SWITCH_NOSIG},
!   {"NOSPACE", SWITCH_NOSPACE},
!   {"NOTIFY", SWITCH_NOTIFY},
!   {"NUKE", SWITCH_NUKE},
!   {"OFF", SWITCH_OFF},
!   {"ON", SWITCH_ON},
!   {"OUTSIDE", SWITCH_OUTSIDE},
!   {"OVERRIDE", SWITCH_OVERRIDE},
!   {"PANIC", SWITCH_PANIC},
!   {"PARANOID", SWITCH_PARANOID},
!   {"PLAYERS", SWITCH_PLAYERS},
!   {"PORT", SWITCH_PORT},
!   {"POSE", SWITCH_POSE},
!   {"PRESERVE", SWITCH_PRESERVE},
!   {"PRINT", SWITCH_PRINT},
!   {"PRIVS", SWITCH_PRIVS},
!   {"PURGE", SWITCH_PURGE},
!   {"QUICK", SWITCH_QUICK},
!   {"QUIET", SWITCH_QUIET},
!   {"READ", SWITCH_READ},
!   {"REBOOT", SWITCH_REBOOT},
!   {"REGISTER", SWITCH_REGISTER},
!   {"REMOVE", SWITCH_REMOVE},
!   {"RENAME", SWITCH_RENAME},
!   {"RESTORE", SWITCH_RESTORE},
!   {"RESTRICT", SWITCH_RESTRICT},
!   {"RETROACTIVE", SWITCH_RETROACTIVE},
!   {"ROOM", SWITCH_ROOM},
!   {"ROOMS", SWITCH_ROOMS},
!   {"ROYALTY", SWITCH_ROYALTY},
!   {"SEE", SWITCH_SEE},
!   {"SEEFLAG", SWITCH_SEEFLAG},
!   {"SELF", SWITCH_SELF},
!   {"SEND", SWITCH_SEND},
!   {"SET", SWITCH_SET},
!   {"SILENT", SWITCH_SILENT},
!   {"SKIPDEFAULTS", SWITCH_SKIPDEFAULTS},
!   {"SPEAK", SWITCH_SPEAK},
!   {"STATS", SWITCH_STATS},
!   {"SUMMARY", SWITCH_SUMMARY},
!   {"TABLES", SWITCH_TABLES},
!   {"TAG", SWITCH_TAG},
!   {"TELEPORT", SWITCH_TELEPORT},
!   {"TF", SWITCH_TF},
!   {"THINGS", SWITCH_THINGS},
!   {"TITLE", SWITCH_TITLE},
!   {"TRACE", SWITCH_TRACE},
!   {"UNCLEAR", SWITCH_UNCLEAR},
!   {"UNFOLDER", SWITCH_UNFOLDER},
!   {"UNGAG", SWITCH_UNGAG},
!   {"UNHIDE", SWITCH_UNHIDE},
!   {"UNMUTE", SWITCH_UNMUTE},
!   {"UNTAG", SWITCH_UNTAG},
!   {"UNTIL", SWITCH_UNTIL},
!   {"URGENT", SWITCH_URGENT},
!   {"USEFLAG", SWITCH_USEFLAG},
!   {"WHAT", SWITCH_WHAT},
!   {"WHO", SWITCH_WHO},
!   {"WIPE", SWITCH_WIPE},
!   {"WIZ", SWITCH_WIZ},
!   {"WIZARD", SWITCH_WIZARD},
!   {"YES", SWITCH_YES},
!   {"ZONE", SWITCH_ZONE},
!   {NULL, 0}
! };
*** 1_7_5.214/src/strutil.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.7.2.1.1.2.1.1.1.1.1.6 660)
--- 1_7_5.224(w)/src/strutil.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.7.2.1.1.2.1.1.1.1.1.7 660)
***************
*** 1050,1056 ****
    current = stack + sizeof(stack);
  
    /* Take the rightmost digit, and push it onto the stack, then
!      * integer divide by 10 to get to the next digit. */
    r.quot = val;
    do {
      /* ldiv(x, y) does x/y and x%y at the same time (both of
--- 1050,1056 ----
    current = stack + sizeof(stack);
  
    /* Take the rightmost digit, and push it onto the stack, then
!    * integer divide by 10 to get to the next digit. */
    r.quot = val;
    do {
      /* ldiv(x, y) does x/y and x%y at the same time (both of
*** 1_7_5.214/src/strdup.c Sat, 15 Apr 2000 10:56:00 -0500 dunemush (pennmush/b/34_strdup.c 1.1 660)
--- 1_7_5.224(w)/src/strdup.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/34_strdup.c 1.2 660)
***************
*** 22,28 ****
  #include "confmagic.h"
  
  #ifndef HAS_STRDUP
! char *strdup _((const char *s));
  
  char *
  strdup(s)
--- 22,28 ----
  #include "confmagic.h"
  
  #ifndef HAS_STRDUP
! char *strdup(const char *s);
  
  char *
  strdup(s)
*** 1_7_5.214/src/sig.c Fri, 26 May 2000 09:29:12 -0500 dunemush (pennmush/b/37_sig.c 1.16 660)
--- 1_7_5.224(w)/src/sig.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/37_sig.c 1.17 660)
***************
*** 17,23 ****
  #endif
  
  #ifdef CAN_PROTOTYPE_SIGNAL
! Sigfunc signal _((int signo, Sigfunc func));
  #endif
  
  /* We're going to rewrite the signal() function in terms of
--- 17,23 ----
  #endif
  
  #ifdef CAN_PROTOTYPE_SIGNAL
! Sigfunc signal(int signo, Sigfunc func);
  #endif
  
  /* We're going to rewrite the signal() function in terms of
*** 1_7_5.214/src/set.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/b/38_set.c 1.26.1.5.1.1.2.1.1.1.1.1.1.3 660)
--- 1_7_5.224(w)/src/set.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/38_set.c 1.26.1.5.1.1.2.1.1.1.1.1.1.5 660)
***************
*** 21,27 ****
  #include "mushdb.h"
  #include "match.h"
  #include "attrib.h"
- #include "boolexp.h"
  #include "externs.h"
  #include "ansi.h"
  #include "command.h"
--- 21,26 ----
***************
*** 32,60 ****
  #include "log.h"
  #include "confmagic.h"
  
! void do_name _((dbref player, const char *name, char *newname));
! void do_chown
! _((dbref player, const char *name, const char *newobj, int preserve));
! static int chown_ok _((dbref player, dbref thing, dbref newowner));
  int do_chzone(dbref player, const char *name, const char *newobj, int noisy);
  void do_attrib_flags
! _((dbref player, const char *obj, const char *atrname, const char *flag));
! int do_set _((dbref player, const char *name, char *flag));
  void do_cpattr
! _((dbref player, char *oldpair, char **newpair, int move, int noflagcopy));
! void do_gedit _((dbref player, char *it, char **argv));
! void do_trigger _((dbref player, char *object, char **argv));
! void do_use _((dbref player, const char *what));
! void do_parent _((dbref player, char *name, char *parent_name));
! void do_wipe _((dbref player, char *name));
! static int af_helper _((dbref player, dbref thing, char const *pattern,
! 			ATTR *atr, void *args));
! static int gedit_helper _((dbref player, dbref thing, char const *pattern,
! 			   ATTR *atr, void *args));
! static int wipe_helper _((dbref player, dbref thing, char const *pattern,
! 			  ATTR *atr, void *args));
! static void copy_attrib_flags
! _((dbref player, dbref target, ATTR *atr, int flags));
  
  
  void
--- 31,57 ----
  #include "log.h"
  #include "confmagic.h"
  
! void do_name(dbref player, const char *name, char *newname);
! void do_chown(dbref player, const char *name, const char *newobj, int preserve);
! static int chown_ok(dbref player, dbref thing, dbref newowner);
  int do_chzone(dbref player, const char *name, const char *newobj, int noisy);
  void do_attrib_flags
!   (dbref player, const char *obj, const char *atrname, const char *flag);
! int do_set(dbref player, const char *name, char *flag);
  void do_cpattr
!   (dbref player, char *oldpair, char **newpair, int move, int noflagcopy);
! void do_gedit(dbref player, char *it, char **argv);
! void do_trigger(dbref player, char *object, char **argv);
! void do_use(dbref player, const char *what);
! void do_parent(dbref player, char *name, char *parent_name);
! void do_wipe(dbref player, char *name);
! static int af_helper(dbref player, dbref thing, char const *pattern,
! 		     ATTR *atr, void *args);
! static int gedit_helper(dbref player, dbref thing, char const *pattern,
! 			ATTR *atr, void *args);
! static int wipe_helper(dbref player, dbref thing, char const *pattern,
! 		       ATTR *atr, void *args);
! static void copy_attrib_flags(dbref player, dbref target, ATTR *atr, int flags);
  
  
  void
*** 1_7_5.214/src/services.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/b/39_services.c 1.12 660)
--- 1_7_5.224(w)/src/services.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/39_services.c 1.13 660)
***************
*** 26,33 ****
  #define THIS_SERVICE "PennMUSH"
  #define THIS_SERVICE_DISPLAY "PennMUSH for Win32"
  
! int WIN32_CDECL main _((int argc, char **argv));
! void mainthread _((int argc, char **argv));
  
  
  SERVICE_STATUS ssStatus;	/*  current status of the service */
--- 26,33 ----
  #define THIS_SERVICE "PennMUSH"
  #define THIS_SERVICE_DISPLAY "PennMUSH for Win32"
  
! int WIN32_CDECL main(int argc, char **argv);
! void mainthread(int argc, char **argv);
  
  
  SERVICE_STATUS ssStatus;	/*  current status of the service */
*** 1_7_5.214/src/rob.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/b/42_rob.c 1.18.1.2.1.3.1.3.1.3 660)
--- 1_7_5.224(w)/src/rob.c Sat, 20 Jul 2002 12:07:48 -0500 dunemush (pennmush/b/42_rob.c 1.18.1.2.1.3.1.3.1.4 660)
***************
*** 83,89 ****
  	       NOTHING);
  
  	/* notify victim */
! 	notify(victim, tprintf(T("%s killed you!"), Name(player)));
  
  	/* maybe pay off the bonus */
  	/* if we were not called via slay */
--- 83,89 ----
  	       NOTHING);
  
  	/* notify victim */
! 	notify_format(victim, T("%s killed you!"), Name(player));
  
  	/* maybe pay off the bonus */
  	/* if we were not called via slay */
***************
*** 242,253 ****
        if (cost < 0)
  	return;
        if ((amount - cost) > 0) {
! 	sprintf(tbuf1, T("You get %d in change."), amount - cost);
        } else {
! 	sprintf(tbuf1, T("You paid %d %s."), amount,
! 		((amount == 1) ? MONEY : MONIES));
        }
-       notify(player, tbuf1);
        giveto(player, amount - cost);
        giveto(who, cost);
        did_it(player, who, "PAYMENT", NULL, "OPAYMENT", NULL, "APAYMENT",
--- 242,252 ----
        if (cost < 0)
  	return;
        if ((amount - cost) > 0) {
! 	notify_format(player, T("You get %d in change."), amount - cost);
        } else {
! 	notify_format(player, T("You paid %d %s."), amount,
! 		      ((amount == 1) ? MONEY : MONIES));
        }
        giveto(player, amount - cost);
        giveto(who, cost);
        did_it(player, who, "PAYMENT", NULL, "OPAYMENT", NULL, "APAYMENT",
*** 1_7_5.214/src/predicat.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/b/44_predicat.c 1.1.1.34.1.1.1.3.1.4.2.3 660)
--- 1_7_5.224(w)/src/predicat.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/b/44_predicat.c 1.1.1.34.1.1.1.3.1.4.2.4 660)
***************
*** 44,50 ****
  		       char const *pattern, ATTR *atr, void *args);
  void do_grep(dbref player, char *obj, char *lookfor, int flag, int insensitive);
  #ifdef QUOTA
! static int pay_quota _((dbref, int));
  #endif				/* QUOTA */
  extern PRIV attr_privs[];
  
--- 44,50 ----
  		       char const *pattern, ATTR *atr, void *args);
  void do_grep(dbref player, char *obj, char *lookfor, int flag, int insensitive);
  #ifdef QUOTA
! static int pay_quota(dbref, int);
  #endif				/* QUOTA */
  extern PRIV attr_privs[];
  
*** 1_7_5.214/src/player.c Wed, 10 Apr 2002 20:36:23 -0500 dunemush (pennmush/b/47_player.c 1.15.1.1.1.1.1.4.1.2 660)
--- 1_7_5.224(w)/src/player.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/b/47_player.c 1.15.1.1.1.1.1.4.1.3 660)
***************
*** 39,45 ****
  #ifdef I_CRYPT
  #include <crypt.h>
  #else
! extern char *crypt _((const char *, const char *));
  #endif
  #endif
  
--- 39,45 ----
  #ifdef I_CRYPT
  #include <crypt.h>
  #else
! extern char *crypt(const char *, const char *);
  #endif
  #endif
  
***************
*** 49,58 ****
  extern int reserved;
  
  dbref email_register_player
! _((const char *name, const char *email, const char *host, const char *ip));
  static dbref make_player
! _((const char *name, const char *password, const char *host, const char *ip));
! void do_password _((dbref player, const char *old, const char *newobj));
  
  static const char pword_attr[] = "XYXXY";
  
--- 49,58 ----
  extern int reserved;
  
  dbref email_register_player
!   (const char *name, const char *email, const char *host, const char *ip);
  static dbref make_player
!   (const char *name, const char *password, const char *host, const char *ip);
! void do_password(dbref player, const char *old, const char *newobj);
  
  static const char pword_attr[] = "XYXXY";
  
*** 1_7_5.214/src/parse.c Tue, 02 Apr 2002 07:49:20 -0600 dunemush (pennmush/b/48_parse.c 1.23.1.10.1.2.1.1.1.1.1.2.1.4 660)
--- 1_7_5.224(w)/src/parse.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/b/48_parse.c 1.23.1.10.1.2.1.1.1.1.1.2.1.5 660)
***************
*** 71,77 ****
  char e_range[] = "#-1 OUT OF RANGE";
  
  #if 0
! static void dummy_errors _((void));
  
  static void
  dummy_errors()
--- 71,77 ----
  char e_range[] = "#-1 OUT OF RANGE";
  
  #if 0
! static void dummy_errors(void);
  
  static void
  dummy_errors()
*** 1_7_5.214/src/mycrypt.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/b/50_mycrypt.c 1.5 660)
--- 1_7_5.224(w)/src/mycrypt.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/b/50_mycrypt.c 1.6 660)
***************
*** 14,20 ****
  #include <crypt.h>
  #else
  #if (CRYPT_SYSTEM == 1) || (CRYPT_SYSTEM == 3)
! extern char *crypt _((const char *, const char *));
  #endif
  #endif
  
--- 14,20 ----
  #include <crypt.h>
  #else
  #if (CRYPT_SYSTEM == 1) || (CRYPT_SYSTEM == 3)
! extern char *crypt(const char *, const char *);
  #endif
  #endif
  
*** 1_7_5.214/src/move.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/b/51_move.c 1.1.1.18.1.5.1.13.1.3.1.9.1.1.1.1.1.2.1.1.1.4 660)
--- 1_7_5.224(w)/src/move.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/b/51_move.c 1.1.1.18.1.5.1.13.1.3.1.9.1.1.1.1.1.2.1.1.1.5 660)
***************
*** 15,21 ****
  #include "lock.h"
  #include "dbdefs.h"
  #include "parse.h"
- #include "lock.h"
  #include "log.h"
  #include "command.h"
  #include "cmds.h"
--- 15,20 ----
*** 1_7_5.214/src/malias.c Mon, 18 Jun 2001 10:36:58 -0500 dunemush (pennmush/c/3_malias.c 1.32 660)
--- 1_7_5.224(w)/src/malias.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/3_malias.c 1.33 660)
***************
*** 77,84 ****
    {NULL, '\0', 0, 0}
  };
  
! static const char *get_privs _((int flags));
! static const char *get_shortprivs _((struct mail_alias * m));
  
  
  /***********************************************************
--- 77,84 ----
    {NULL, '\0', 0, 0}
  };
  
! static const char *get_privs(int flags);
! static const char *get_shortprivs(struct mail_alias *m);
  
  
  /***********************************************************
***************
*** 1105,1113 ****
    }
    putstring(fp, "*** End of MALIAS ***");
    /* putstring() of fputs() ???? 
!      * Stupid thing to do. Someone sets a malias desc of "*** End of MALIAS ***"
!      * and then that maildb is read into a mush without MAIL_ALIAS, and bad 
!      * stuff happens. It's rare, but it might happen. Will fix later. */
  }
  
  
--- 1105,1113 ----
    }
    putstring(fp, "*** End of MALIAS ***");
    /* putstring() of fputs() ???? 
!    * Stupid thing to do. Someone sets a malias desc of "*** End of MALIAS ***"
!    * and then that maildb is read into a mush without MAIL_ALIAS, and bad 
!    * stuff happens. It's rare, but it might happen. Will fix later. */
  }
  
  
*** 1_7_5.214/src/lock.c Mon, 29 Apr 2002 13:41:26 -0500 dunemush (pennmush/c/6_lock.c 1.17.1.8 660)
--- 1_7_5.224(w)/src/lock.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/6_lock.c 1.17.1.9 660)
***************
*** 109,116 ****
  
  StrTree lock_names;
  
! static void free_one_lock_list _((lock_list *ll));
! static lock_type check_lock_type _((dbref player, dbref thing, lock_type name));
  static int delete_lock(dbref player, dbref thing, lock_type type);
  static int can_write_lock(dbref player, dbref thing, lock_list *lock);
  
--- 109,116 ----
  
  StrTree lock_names;
  
! static void free_one_lock_list(lock_list *ll);
! static lock_type check_lock_type(dbref player, dbref thing, lock_type name);
  static int delete_lock(dbref player, dbref thing, lock_type type);
  static int can_write_lock(dbref player, dbref thing, lock_list *lock);
  
***************
*** 119,126 ****
  
  static lock_list *free_list = NULL;
  
! static lock_list *next_free_lock _((void));
! static void free_lock _((lock_list *ll));
  const char *
  lock_flags(lock_list *ll)
  {
--- 119,126 ----
  
  static lock_list *free_list = NULL;
  
! static lock_list *next_free_lock(void);
! static void free_lock(lock_list *ll);
  const char *
  lock_flags(lock_list *ll)
  {
*** 1_7_5.214/src/ident.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/8_ident.c 1.19.1.4.1.6 660)
--- 1_7_5.224(w)/src/ident.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/8_ident.c 1.19.1.4.1.8 660)
***************
*** 54,60 ****
  #include <unistd.h>
  #endif
  
- #include "config.h"
  #include "conf.h"
  #include "attrib.h"
  #include "ident.h"
--- 54,59 ----
***************
*** 369,375 ****
      bp = cp;
  
    /*
!      ** No delimitor cs - return whole buffer and point at end
     */
    if (!cs) {
      while (*bp)
--- 368,374 ----
      bp = cp;
  
    /*
!    ** No delimitor cs - return whole buffer and point at end
     */
    if (!cs) {
      while (*bp)
***************
*** 377,389 ****
      return NULL;
    }
    /*
!      ** Skip leading spaces
     */
    while (isspace(*bp))
      bp++;
  
    /*
!      ** No token found?
     */
    if (!*bp)
      return NULL;
--- 376,388 ----
      return NULL;
    }
    /*
!    ** Skip leading spaces
     */
    while (isspace(*bp))
      bp++;
  
    /*
!    ** No token found?
     */
    if (!*bp)
      return NULL;
*** 1_7_5.214/src/game.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/c/10_game.c 1.50.1.8.1.1.1.1.2.1.1.1.2.1.1.4.1.1.1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.1.1.1.1.2.1.1.1.2.1.1.1.1.1.1.1.1.1.3 660)
--- 1_7_5.224(w)/src/game.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/10_game.c 1.50.1.8.1.1.1.1.2.1.1.1.2.1.1.4.1.1.1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.1.1.1.1.2.1.1.1.2.1.1.1.1.1.1.1.1.1.4 660)
***************
*** 19,25 ****
  #include <process.h>
  #include <windows.h>
  #undef OPAQUE			/* Clashes with flags.h */
! void Win32MUSH_setup _((void));
  #endif
  #ifdef I_SYS_TYPES
  #include <sys/types.h>
--- 19,25 ----
  #include <process.h>
  #include <windows.h>
  #undef OPAQUE			/* Clashes with flags.h */
! void Win32MUSH_setup(void);
  #endif
  #ifdef I_SYS_TYPES
  #include <sys/types.h>
***************
*** 103,133 ****
  int paranoid_dump = 0;		/* if paranoid, scan before dumping */
  int paranoid_checkpt = 0;	/* write out an okay message every x objs */
  extern long indb_flags;
! static void dump_database_internal _((void));
! static FILE *db_open _((const char *filename));
! static FILE *db_open_write _((const char *filename));
! static void db_close _((FILE * f));
! void do_readcache _((dbref player));
! char **argv_hack _((dbref player, dbref cause, char const *arg,
! 		    char *fargs[], int eflags));
! int check_alias _((const char *command, const char *list));
! int list_check _((dbref thing, dbref player, char type,
! 		  char end, char *str, int just_match));
! int alias_list_check _((dbref thing, const char *command, const char *type));
! int loc_alias_check _((dbref loc, const char *command, const char *type));
! void do_poor _((dbref player, char *arg1));
! void do_writelog _((dbref player, char *str, int ltype));
  void bind_and_queue(dbref player, dbref cause, char *action, const char *arg,
  		    const char *placestr);
! void do_scan _((dbref player, char *command, int flag));
! void do_list _((dbref player, char *arg, int lc));
! void do_dolist _((dbref player, char *list, char *command,
! 		  dbref cause, unsigned int flags));
! void do_uptime _((dbref player, int mortal));
! char *make_new_epoch_file _((const char *basename, int the_epoch));
! void dest_info _((dbref thing, dbref tt));
  #ifdef HAS_GETRUSAGE
! void rusage_stats _((void));
  #endif
  
  void do_list_memstats(dbref player);
--- 103,133 ----
  int paranoid_dump = 0;		/* if paranoid, scan before dumping */
  int paranoid_checkpt = 0;	/* write out an okay message every x objs */
  extern long indb_flags;
! static void dump_database_internal(void);
! static FILE *db_open(const char *filename);
! static FILE *db_open_write(const char *filename);
! static void db_close(FILE * f);
! void do_readcache(dbref player);
! char **argv_hack(dbref player, dbref cause, char const *arg,
! 		 char *fargs[], int eflags);
! int check_alias(const char *command, const char *list);
! int list_check(dbref thing, dbref player, char type,
! 	       char end, char *str, int just_match);
! int alias_list_check(dbref thing, const char *command, const char *type);
! int loc_alias_check(dbref loc, const char *command, const char *type);
! void do_poor(dbref player, char *arg1);
! void do_writelog(dbref player, char *str, int ltype);
  void bind_and_queue(dbref player, dbref cause, char *action, const char *arg,
  		    const char *placestr);
! void do_scan(dbref player, char *command, int flag);
! void do_list(dbref player, char *arg, int lc);
! void do_dolist(dbref player, char *list, char *command,
! 	       dbref cause, unsigned int flags);
! void do_uptime(dbref player, int mortal);
! char *make_new_epoch_file(const char *basename, int the_epoch);
! void dest_info(dbref thing, dbref tt);
  #ifdef HAS_GETRUSAGE
! void rusage_stats(void);
  #endif
  
  void do_list_memstats(dbref player);
***************
*** 493,499 ****
  #ifndef macintosh
  #ifndef WIN32
  /* Don't fear this function :) */
! Signal_t reaper _((int sig));
  Signal_t
  reaper(sig)
      int
--- 493,499 ----
  #ifndef macintosh
  #ifndef WIN32
  /* Don't fear this function :) */
! Signal_t reaper(int sig);
  Signal_t
  reaper(sig)
      int
***************
*** 653,659 ****
    }
  }
  
! extern void init_names _((void));
  extern struct db_stat_info current_state;
  
  void
--- 653,659 ----
    }
  }
  
! extern void init_names(void);
  extern struct db_stat_info current_state;
  
  void
***************
*** 1061,1067 ****
        }
        /* end of matching on zone of player's location */
        /* if nothing matched with zone master room/zone object, try
!          * matching zone commands on the player's personal zone
         */
        if ((!a) && (Zone(player) != NOTHING) &&
  	  (Zone(Location(player)) != Zone(player))) {
--- 1061,1067 ----
        }
        /* end of matching on zone of player's location */
        /* if nothing matched with zone master room/zone object, try
!        * matching zone commands on the player's personal zone
         */
        if ((!a) && (Zone(player) != NOTHING) &&
  	  (Zone(Location(player)) != Zone(player))) {
*** 1_7_5.214/src/funufun.c Mon, 30 Oct 2000 13:34:40 -0600 dunemush (pennmush/c/11_funufun.c 1.12 660)
--- 1_7_5.224(w)/src/funufun.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/11_funufun.c 1.13 660)
***************
*** 14,22 ****
  #include "lock.h"
  #include "confmagic.h"
  
! void do_userfn _((char *buff, char **bp, dbref obj, ATTR *attrib, int nargs,
! 		  char **args, dbref executor, dbref caller, dbref enactor,
! 		  PE_Info * pe_info));
  
  /* ARGSUSED */
  FUNCTION(fun_s)
--- 14,22 ----
  #include "lock.h"
  #include "confmagic.h"
  
! void do_userfn(char *buff, char **bp, dbref obj, ATTR *attrib, int nargs,
! 	       char **args, dbref executor, dbref caller, dbref enactor,
! 	       PE_Info * pe_info);
  
  /* ARGSUSED */
  FUNCTION(fun_s)
*** 1_7_5.214/src/funtime.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/12_funtime.c 1.11.1.8 660)
--- 1_7_5.224(w)/src/funtime.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/12_funtime.c 1.11.1.9 660)
***************
*** 181,195 ****
  }
  
  #ifdef HAS_GETDATE
! int do_convtime_gd _((char *str, struct tm * ttm));
  int
  do_convtime_gd(str, ttm)
      char *str;
      struct tm *ttm;
  {
    /* converts time string to a struct tm. Returns 1 on success, 0 on fail.
!      * Formats of the time string are taken from the file listed in the
!      * DATEMSK env variable 
     */
    struct tm *tc;
  
--- 181,195 ----
  }
  
  #ifdef HAS_GETDATE
! int do_convtime_gd(char *str, struct tm *ttm);
  int
  do_convtime_gd(str, ttm)
      char *str;
      struct tm *ttm;
  {
    /* converts time string to a struct tm. Returns 1 on success, 0 on fail.
!    * Formats of the time string are taken from the file listed in the
!    * DATEMSK env variable 
     */
    struct tm *tc;
  
*** 1_7_5.214/src/funstr.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/13_funstr.c 1.28.1.1.1.2.1.4.1.6.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1 660)
--- 1_7_5.224(w)/src/funstr.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/13_funstr.c 1.28.1.1.1.2.1.4.1.6.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.2 660)
***************
*** 978,984 ****
  }
  
  /* All the safe tags from HTML 4.0 */
! void init_tag_hashtab _((void));
  void
  init_tag_hashtab(void)
  {
--- 978,984 ----
  }
  
  /* All the safe tags from HTML 4.0 */
! void init_tag_hashtab(void);
  void
  init_tag_hashtab(void)
  {
***************
*** 1128,1134 ****
    char back;
  } ansi_data;
  
! static void dump_ansi_codes _((ansi_data * ad, char *buff, char **bp));
  
  #define EDGE_UP(x,y,z)  (((y) & (z)) && !((x) & (z)))
  
--- 1128,1134 ----
    char back;
  } ansi_data;
  
! static void dump_ansi_codes(ansi_data * ad, char *buff, char **bp);
  
  #define EDGE_UP(x,y,z)  (((y) & (z)) && !((x) & (z)))
  
*** 1_7_5.214/src/funmisc.c Mon, 10 Jun 2002 17:43:21 -0500 dunemush (pennmush/c/14_funmisc.c 1.30.1.1.1.3 660)
--- 1_7_5.224(w)/src/funmisc.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/14_funmisc.c 1.30.1.1.1.4 660)
***************
*** 30,36 ****
  extern time_t start_time, first_start_time;
  extern int reboot_count;
  extern FUN flist[];
! static char *soundex _((char *str));
  extern char cf_motd_msg[BUFFER_LEN], cf_wizmotd_msg[BUFFER_LEN],
    cf_downmotd_msg[BUFFER_LEN], cf_fullmotd_msg[BUFFER_LEN];
  extern HASHTAB htab_function;
--- 30,36 ----
  extern time_t start_time, first_start_time;
  extern int reboot_count;
  extern FUN flist[];
! static char *soundex(char *str);
  extern char cf_motd_msg[BUFFER_LEN], cf_wizmotd_msg[BUFFER_LEN],
    cf_downmotd_msg[BUFFER_LEN], cf_fullmotd_msg[BUFFER_LEN];
  extern HASHTAB htab_function;
*** 1_7_5.214/src/funmath.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/15_funmath.c 1.39.1.1.1.1.1.3 660)
--- 1_7_5.224(w)/src/funmath.c Sat, 20 Jul 2002 12:07:47 -0500 dunemush (pennmush/c/15_funmath.c 1.39.1.1.1.1.1.1.1.3 660)
***************
*** 1108,1122 ****
  	safe_chr(' ', *buff, *bp);
        safe_str(special[x2], *buff, *bp);
        started = 1;
!     } else {
        if (started)
  	safe_chr(' ', *buff, *bp);
        if (x1) {
  	safe_str(tens[x1], *buff, *bp);
  	if (x2)
  	  safe_chr('-', *buff, *bp);
- 	else
- 	  safe_chr(' ', *buff, *bp);
        }
        safe_str(singles[x2], *buff, *bp);
        started = 1;
--- 1108,1120 ----
  	safe_chr(' ', *buff, *bp);
        safe_str(special[x2], *buff, *bp);
        started = 1;
!     } else if (x1 || x2) {
        if (started)
  	safe_chr(' ', *buff, *bp);
        if (x1) {
  	safe_str(tens[x1], *buff, *bp);
  	if (x2)
  	  safe_chr('-', *buff, *bp);
        }
        safe_str(singles[x2], *buff, *bp);
        started = 1;
*** 1_7_5.214/src/funlist.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/16_funlist.c 1.3.1.1.1.5.1.2.1.1.1.1.1.4.1.2.1.2.1.19.1.2.1.1.1.2.1.5.1.1.1.1.1.1.1.1.1.1.2.1.1.3.1.2.1.1.1.1.1.1.1.3 660)
--- 1_7_5.224(w)/src/funlist.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/16_funlist.c 1.3.1.1.1.5.1.2.1.1.1.1.1.4.1.2.1.2.1.19.1.2.1.1.1.2.1.5.1.1.1.1.1.1.1.1.1.1.2.1.1.3.1.2.1.1.1.1.1.1.1.1.1.3 660)
***************
*** 27,51 ****
  
  #define MAX_SORTSIZE (BUFFER_LEN / 2)
  
! static char *next_token _((char *str, char sep));
! int list2arr _((char *r[], int max, char *list, char sep));
! static void arr2list _((char *r[], int max, char *list, char **lp, char *sep));
! static void swap _((char **p, char **q));
! static int autodetect_list _((char **ptrs, int nptrs));
! static int get_list_type _((char **args, int nargs,
! 			    int type_pos, char **ptrs, int nptrs));
! static int WIN32_CDECL a_comp _((const void *s1, const void *s2));
! int WIN32_CDECL i_comp _((const void *s1, const void *s2));
! static int WIN32_CDECL f_comp _((const void *s1, const void *s2));
! static int WIN32_CDECL u_comp _((const void *s1, const void *s2));
! static int regrep_helper _((dbref who, dbref what,
! 			    char const *name, ATTR *atr, void *args));
! static int WIN32_CDECL gencomp _((char *a, char *b, int sort_type));
! static void sane_qsort _((void **array, int left, int right,
! 			  int (WIN32_CDECL * compare) (const void *,
! 						       const void *)));
! static void do_itemfuns _((char *buff, char **bp, char *str, char *num,
! 			   char *word, char *sep, int flag));
  
  char *iter_rep[MAX_ITERS];
  int iter_place[MAX_ITERS];
--- 27,51 ----
  
  #define MAX_SORTSIZE (BUFFER_LEN / 2)
  
! static char *next_token(char *str, char sep);
! int list2arr(char *r[], int max, char *list, char sep);
! static void arr2list(char *r[], int max, char *list, char **lp, char *sep);
! static void swap(char **p, char **q);
! static int autodetect_list(char **ptrs, int nptrs);
! static int get_list_type(char **args, int nargs,
! 			 int type_pos, char **ptrs, int nptrs);
! static int WIN32_CDECL a_comp(const void *s1, const void *s2);
! int WIN32_CDECL i_comp(const void *s1, const void *s2);
! static int WIN32_CDECL f_comp(const void *s1, const void *s2);
! static int WIN32_CDECL u_comp(const void *s1, const void *s2);
! static int regrep_helper(dbref who, dbref what,
! 			 char const *name, ATTR *atr, void *args);
! static int WIN32_CDECL gencomp(char *a, char *b, int sort_type);
! static void sane_qsort(void **array, int left, int right,
! 		       int (WIN32_CDECL * compare) (const void *,
! 						    const void *));
! static void do_itemfuns(char *buff, char **bp, char *str, char *num,
! 			char *word, char *sep, int flag);
  
  char *iter_rep[MAX_ITERS];
  int iter_place[MAX_ITERS];
***************
*** 794,800 ****
    }
  }
  
! int qparse_dbref _((const char *s));
  int
  qparse_dbref(s)
      const char *s;
--- 794,800 ----
    }
  }
  
! int qparse_dbref(const char *s);
  int
  qparse_dbref(s)
      const char *s;
***************
*** 882,888 ****
  sane_qsort(array, left, right, compare)
      void *array[];
      int left, right;
!     int (WIN32_CDECL * compare) _((const void *, const void *));
  {
    /* Andrew Molitor's qsort, which doesn't require transitivity between
     * comparisons (essential for preventing crashes due to boneheads
--- 882,888 ----
  sane_qsort(array, left, right, compare)
      void *array[];
      int left, right;
!     int (WIN32_CDECL * compare) (const void *, const void *);
  {
    /* Andrew Molitor's qsort, which doesn't require transitivity between
     * comparisons (essential for preventing crashes due to boneheads
***************
*** 2434,2440 ****
    while (cp) {
      col += field_width + !!osep;
      if (col > line_length) {
!       safe_str("\r\n", buff, bp);
        col = field_width + !!osep;
      } else {
        if (osep)
--- 2434,2443 ----
    while (cp) {
      col += field_width + !!osep;
      if (col > line_length) {
!       if (NEWLINE_ONE_CHAR)
! 	safe_str("\n", buff, bp);
!       else
! 	safe_str("\r\n", buff, bp);
        col = field_width + !!osep;
      } else {
        if (osep)
*** 1_7_5.214/src/function.c Mon, 10 Jun 2002 17:43:21 -0500 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.4 660)
--- 1_7_5.224(w)/src/function.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.6 660)
***************
*** 27,34 ****
  #include "funs.h"
  #include "confmagic.h"
  
! void func_hash_insert _((const char *name, FUN *func));
! extern void local_functions _((void));
  
  HASHTAB htab_function;
  HASHTAB htab_user_function;
--- 27,34 ----
  #include "funs.h"
  #include "confmagic.h"
  
! void func_hash_insert(const char *name, FUN *func);
! extern void local_functions(void);
  
  HASHTAB htab_function;
  HASHTAB htab_user_function;
***************
*** 1064,1070 ****
    if (fp->flags & FN_BUILTIN)
      state2 = "";
    else
!     state2 = "@function";
  
    if (fp->flags & FN_DISABLED)
      state = "Disabled";
--- 1064,1070 ----
    if (fp->flags & FN_BUILTIN)
      state2 = "";
    else
!     state2 = " @function";
  
    if (fp->flags & FN_DISABLED)
      state = "Disabled";
*** 1_7_5.214/src/extmail.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/22_extmail.c 1.44.1.7.1.6 660)
--- 1_7_5.224(w)/src/extmail.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/22_extmail.c 1.44.1.7.1.5.1.2 660)
***************
*** 97,150 ****
  #define OUTPUT(fun) fun
  #endif
  
! extern int do_convtime _((char *str, struct tm * ttm));	/* funtime.c */
  
  static void do_mail_flags
    (dbref player, const char *msglist, mail_flag flag, int negate);
! static char *mail_list_time _((const char *the_time, int flag));
! static struct mail *mail_fetch _((dbref player, int num));
! static struct mail *real_mail_fetch _((dbref player, int num, int folder));
! static struct mail *mailfun_fetch _((dbref player,
! 				     int nargs, char *arg1, char *arg2));
! static void count_mail _((dbref player,
! 			  int folder, int *rcount, int *ucount, int *ccount));
  #ifdef MAIL_SUBJECTS
! static void send_mail _((dbref player,
! 			 dbref target, unsigned char *subject, char *message,
! 			 mail_flag flags, int silent, int nosig));
  #else
! static void send_mail _((dbref player,
! 			 dbref target, char *message, mail_flag flags,
! 			 int silent, int nosig));
  #endif
  #ifdef MAIL_ALIASES
  #ifdef MAIL_SUBJECTS
! static int send_mail_alias _((dbref player,
! 			      char *aname, unsigned char *subject,
! 			      char *message, mail_flag flags, int silent,
! 			      int nosig));
  #else
! static int send_mail_alias _((dbref player, char *aname,
! 			      char *message, mail_flag flags, int silent,
! 			      int nosig));
  #endif
  #endif
! static struct mail *find_insertion_point _((dbref player));
! static int get_folder_number _((dbref player, char *name));
! static char *get_folder_name _((dbref player, int fld));
! static int player_folder _((dbref player));
! static int parse_folder _((dbref player, char *folder_string));
  static int mail_match
! _((dbref player, struct mail * mp, struct mail_selector ms, int num));
  static int parse_msglist
! _((const char *msglist, struct mail_selector * ms, dbref player));
  static int parse_message_spec
! _((dbref player, const char *s, int *msglow, int *msghigh, int *folder));
! static char *status_chars _((struct mail * mp));
! static char *status_string _((struct mail * mp));
! static int sign _((int x));
  #ifdef MAIL_SUBJECTS
! static char *get_subject _((struct mail * mp));
  #endif
  
  struct mail *maildb;
--- 97,150 ----
  #define OUTPUT(fun) fun
  #endif
  
! extern int do_convtime(char *str, struct tm *ttm);	/* funtime.c */
  
  static void do_mail_flags
    (dbref player, const char *msglist, mail_flag flag, int negate);
! static char *mail_list_time(const char *the_time, int flag);
! static struct mail *mail_fetch(dbref player, int num);
! static struct mail *real_mail_fetch(dbref player, int num, int folder);
! static struct mail *mailfun_fetch(dbref player,
! 				  int nargs, char *arg1, char *arg2);
! static void count_mail(dbref player,
! 		       int folder, int *rcount, int *ucount, int *ccount);
  #ifdef MAIL_SUBJECTS
! static void send_mail(dbref player,
! 		      dbref target, unsigned char *subject, char *message,
! 		      mail_flag flags, int silent, int nosig);
  #else
! static void send_mail(dbref player,
! 		      dbref target, char *message, mail_flag flags,
! 		      int silent, int nosig);
  #endif
  #ifdef MAIL_ALIASES
  #ifdef MAIL_SUBJECTS
! static int send_mail_alias(dbref player,
! 			   char *aname, unsigned char *subject,
! 			   char *message, mail_flag flags, int silent,
! 			   int nosig);
  #else
! static int send_mail_alias(dbref player, char *aname,
! 			   char *message, mail_flag flags, int silent,
! 			   int nosig);
  #endif
  #endif
! static struct mail *find_insertion_point(dbref player);
! static int get_folder_number(dbref player, char *name);
! static char *get_folder_name(dbref player, int fld);
! static int player_folder(dbref player);
! static int parse_folder(dbref player, char *folder_string);
  static int mail_match
!   (dbref player, struct mail *mp, struct mail_selector ms, int num);
  static int parse_msglist
!   (const char *msglist, struct mail_selector *ms, dbref player);
  static int parse_message_spec
!   (dbref player, const char *s, int *msglow, int *msghigh, int *folder);
! static char *status_chars(struct mail *mp);
! static char *status_string(struct mail *mp);
! static int sign(int x);
  #ifdef MAIL_SUBJECTS
! static char *get_subject(struct mail *mp);
  #endif
  
  struct mail *maildb;
***************
*** 479,485 ****
  		      ("From: %-55s %s\nDate: %-25s   %s %2d   Message: %d\nStatus: %s"),
  		      tbuf1, (IsPlayer(mp->from) && Connected(mp->from)
  			      && (!hidden(mp->from)
! 				  || Hasprivs(player))) ? " (Conn)" : "      ",
  		      uncompress(mp->time), folderheader, Folder(mp),
  		      i[Folder(mp)], status_string(mp));
  #ifdef MAIL_SUBJECTS
--- 479,485 ----
  		      ("From: %-55s %s\nDate: %-25s   %s %2d   Message: %d\nStatus: %s"),
  		      tbuf1, (IsPlayer(mp->from) && Connected(mp->from)
  			      && (!hidden(mp->from)
! 				  || Priv_Who(player))) ? " (Conn)" : "      ",
  		      uncompress(mp->time), folderheader, Folder(mp),
  		      i[Folder(mp)], status_string(mp));
  #ifdef MAIL_SUBJECTS
***************
*** 551,557 ****
  	notify_format(player, "[%s] %2d:%-3d %c%-12s  %-*s %s",
  		      status_chars(mp), Folder(mp), i[Folder(mp)],
  		      ((Connected(mp->from) &&
! 			(!hidden(mp->from) || Hasprivs(player)))
  		       ? '*' : ' '),
  		      chopstr(Name(mp->from), 12),
  		      30, subj, mail_list_time(uncompress(mp->time), 1));
--- 551,557 ----
  	notify_format(player, "[%s] %2d:%-3d %c%-12s  %-*s %s",
  		      status_chars(mp), Folder(mp), i[Folder(mp)],
  		      ((Connected(mp->from) &&
! 			(!hidden(mp->from) || Priv_Who(player)))
  		       ? '*' : ' '),
  		      chopstr(Name(mp->from), 12),
  		      30, subj, mail_list_time(uncompress(mp->time), 1));
***************
*** 563,569 ****
  		      PLAYER_NAME_LIMIT + 1, Name(mp->from),
  		      mail_list_time(uncompress(mp->time), 0),
  		      ((Connected(mp->from) && (!hidden(mp->from)
! 						|| Hasprivs(player)))
  		       ? "Conn" : " "));
  #endif
  	if (SUPPORT_PUEBLO)
--- 563,569 ----
  		      PLAYER_NAME_LIMIT + 1, Name(mp->from),
  		      mail_list_time(uncompress(mp->time), 0),
  		      ((Connected(mp->from) && (!hidden(mp->from)
! 						|| Priv_Who(player)))
  		       ? "Conn" : " "));
  #endif
  	if (SUPPORT_PUEBLO)
*** 1_7_5.214/src/extchat.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/c/23_extchat.c 1.1.1.1.1.1.1.1.1.2.1.1.1.3.1.1.1.5.1.1.1.1.1.5.1.2.1.3.1.3.1.1.1.4.1.2.1.6.1.2.1.1.2.4.2.9.1.2.1.2.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1 660)
--- 1_7_5.224(w)/src/extchat.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/23_extchat.c 1.1.1.1.1.1.1.1.1.2.1.1.1.3.1.1.1.5.1.1.1.1.1.5.1.2.1.3.1.3.1.1.1.4.1.2.1.6.1.2.1.1.2.4.2.9.1.2.1.2.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.2 660)
***************
*** 41,77 ****
  #endif
  
  
! static CHAN *new_channel _((void));
! static CHANLIST *new_chanlist _((void));
! static CHANUSER *new_user _((dbref who));
! static void free_channel _((CHAN *c));
! static void free_chanlist _((CHANLIST *cl));
! static void free_user _((CHANUSER *u));
! static int load_channel _((FILE * fp, CHAN *ch));
! static int load_chanusers _((FILE * fp, CHAN *ch));
! static void insert_channel _((CHAN **ch));
! static void remove_channel _((CHAN *ch));
! static void insert_obj_chan _((dbref who, CHAN **ch));
! static void remove_obj_chan _((dbref who, CHAN *ch));
! void remove_all_obj_chan _((dbref thing));
! static void chan_chown _((CHAN *c, dbref victim));
! void chan_chownall _((dbref old, dbref new));
! static int insert_user _((CHANUSER *user, CHAN *ch));
! static int remove_user _((CHANUSER *u, CHAN *ch));
! static int save_channel _((FILE * fp, CHAN *ch));
! static int save_chanuser _((FILE * fp, CHANUSER *user));
! static void channel_wipe _((dbref player, CHAN *chan));
! static int yesno _((const char *str));
! static int canstilladd _((dbref player));
! static int find_channel_partial_on
! _((const char *name, CHAN **chan, dbref player));
  static int find_channel_partial_off
! _((const char *name, CHAN **chan, dbref player));
! static char *list_cflags _((CHAN *c));
! static char *list_cuflags _((CHANUSER *u));
! static void channel_join_self _((dbref player, const char *name));
! static void channel_leave_self _((dbref player, const char *name));
! static void do_channel_who _((dbref player, CHAN *chan));
  
  const char *chan_speak_lock = "ChanSpeakLock";
  const char *chan_join_lock = "ChanJoinLock";
--- 41,76 ----
  #endif
  
  
! static CHAN *new_channel(void);
! static CHANLIST *new_chanlist(void);
! static CHANUSER *new_user(dbref who);
! static void free_channel(CHAN *c);
! static void free_chanlist(CHANLIST *cl);
! static void free_user(CHANUSER *u);
! static int load_channel(FILE * fp, CHAN *ch);
! static int load_chanusers(FILE * fp, CHAN *ch);
! static void insert_channel(CHAN **ch);
! static void remove_channel(CHAN *ch);
! static void insert_obj_chan(dbref who, CHAN **ch);
! static void remove_obj_chan(dbref who, CHAN *ch);
! void remove_all_obj_chan(dbref thing);
! static void chan_chown(CHAN *c, dbref victim);
! void chan_chownall(dbref old, dbref new);
! static int insert_user(CHANUSER *user, CHAN *ch);
! static int remove_user(CHANUSER *u, CHAN *ch);
! static int save_channel(FILE * fp, CHAN *ch);
! static int save_chanuser(FILE * fp, CHANUSER *user);
! static void channel_wipe(dbref player, CHAN *chan);
! static int yesno(const char *str);
! static int canstilladd(dbref player);
! static int find_channel_partial_on(const char *name, CHAN **chan, dbref player);
  static int find_channel_partial_off
!   (const char *name, CHAN **chan, dbref player);
! static char *list_cflags(CHAN *c);
! static char *list_cuflags(CHANUSER *u);
! static void channel_join_self(dbref player, const char *name);
! static void channel_leave_self(dbref player, const char *name);
! static void do_channel_who(dbref player, CHAN *chan);
  
  const char *chan_speak_lock = "ChanSpeakLock";
  const char *chan_join_lock = "ChanJoinLock";
*** 1_7_5.214/src/destroy.c Mon, 10 Jun 2002 23:35:16 -0500 dunemush (pennmush/c/24_destroy.c 1.24.2.2.1.3.1.1.1.1.1.1.1.2 660)
--- 1_7_5.224(w)/src/destroy.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/24_destroy.c 1.24.2.2.1.3.1.1.1.1.1.1.1.3 660)
***************
*** 75,103 ****
   */
  
  dbref first_free = NOTHING;
! static dbref what_to_destroy _((dbref player, char *name, int confirm));
  
! static void pre_destroy _((dbref player, dbref thing));
! static void free_object _((dbref thing));
! static void empty_contents _((dbref thing));
! static void clear_thing _((dbref thing));
! static void clear_player _((dbref thing));
! static void clear_room _((dbref thing));
! static void clear_exit _((dbref thing));
! 
! static void check_fields _((void));
! static void check_connected_rooms _((void));
! static void mark_connected _((dbref loc));
! static void check_connected_marks _((void));
! static void mark_contents _((dbref loc));
! static void check_contents _((void));
! static void check_locations _((void));
! static void check_zones _((void));
  static int attribute_owner_helper
! _((dbref player, dbref thing, char const *pattern, ATTR *atr, void *args));
  
! extern void remove_all_obj_chan _((dbref thing));
! extern void chan_chownall _((dbref old, dbref new));
  
  extern struct db_stat_info current_state;
  
--- 75,103 ----
   */
  
  dbref first_free = NOTHING;
! static dbref what_to_destroy(dbref player, char *name, int confirm);
  
! static void pre_destroy(dbref player, dbref thing);
! static void free_object(dbref thing);
! static void empty_contents(dbref thing);
! static void clear_thing(dbref thing);
! static void clear_player(dbref thing);
! static void clear_room(dbref thing);
! static void clear_exit(dbref thing);
! 
! static void check_fields(void);
! static void check_connected_rooms(void);
! static void mark_connected(dbref loc);
! static void check_connected_marks(void);
! static void mark_contents(dbref loc);
! static void check_contents(void);
! static void check_locations(void);
! static void check_zones(void);
  static int attribute_owner_helper
!   (dbref player, dbref thing, char const *pattern, ATTR *atr, void *args);
  
! extern void remove_all_obj_chan(dbref thing);
! extern void chan_chownall(dbref old, dbref new);
  
  extern struct db_stat_info current_state;
  
***************
*** 549,555 ****
      break;
    case TYPE_ROOM:
      /* undestroy exits in this room, except exits that are going to be
!        * destroyed anyway due to a GOING player.
       */
      DOLIST(tmp, Exits(thing)) {
        if (DESTROY_POSSESSIONS ? (!Going(Owner(tmp)) || Safe(tmp)) : 1) {
--- 549,555 ----
      break;
    case TYPE_ROOM:
      /* undestroy exits in this room, except exits that are going to be
!      * destroyed anyway due to a GOING player.
       */
      DOLIST(tmp, Exits(thing)) {
        if (DESTROY_POSSESSIONS ? (!Going(Owner(tmp)) || Safe(tmp)) : 1) {
*** 1_7_5.214/src/db.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/25_db.c 1.26.1.1.1.1.1.3 660)
--- 1_7_5.224(w)/src/db.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/25_db.c 1.26.1.1.1.1.1.4 660)
***************
*** 33,39 ****
  #include "confmagic.h"
  
  #ifdef WIN32
! void shutdown_checkpoint _((void));
  #endif
  
  #ifdef I_SETJMP
--- 33,39 ----
  #include "confmagic.h"
  
  #ifdef WIN32
! void shutdown_checkpoint(void);
  #endif
  
  #ifdef I_SETJMP
*** 1_7_5.214/src/csrimalloc.c Mon, 10 Jun 2002 23:51:30 -0500 dunemush (pennmush/c/26_csrimalloc 1.23.1.2 660)
--- 1_7_5.224(w)/src/csrimalloc.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/26_csrimalloc 1.23.1.3 660)
***************
*** 2508,2515 ****
  /*LINTLIBRARY */
  
  
- 
- #ifdef CSRI_DEBUG
  /* 
   *  Sets debugging level - level 0 and 1 both perform normal checking -
   *  making sure a pointer is valid before it is used for any heap data,
--- 2508,2513 ----
***************
*** 2604,2612 ****
  
  /*LINTLIBRARY */
  
- 
- 
- #ifdef CSRI_PROFILESIZES
  /*
   *  Dumps the distribution of allocated sizes we've gathered so far
   */
--- 2602,2607 ----
***************
*** 2665,2672 ****
  /*LINTLIBRARY */
  
  
- 
- #ifdef CSRI_DEBUG
  /*
   *  Goes through the entire heap checking all pointers, tags for
   *  consistency. Should catch most casual heap corruption (overwriting
--- 2660,2665 ----
*** 1_7_5.214/src/create.c Mon, 10 Jun 2002 23:35:16 -0500 dunemush (pennmush/c/27_create.c 1.27.1.3.1.1.1.1.1.1.1.2.1.1.1.1.1.2 660)
--- 1_7_5.224(w)/src/create.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/27_create.c 1.27.1.3.1.1.1.1.1.1.1.2.1.1.1.1.1.3 660)
***************
*** 14,20 ****
  #include "flags.h"
  #include "dbdefs.h"
  #include "lock.h"
- #include "dbdefs.h"
  #include "parse.h"
  #include "game.h"
  #include "confmagic.h"
--- 14,19 ----
*** 1_7_5.214/src/cque.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/28_cque.c 1.36.1.5.1.1.1.1.1.1.1.2.1.3 660)
--- 1_7_5.224(w)/src/cque.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/28_cque.c 1.36.1.5.1.1.1.1.1.1.1.2.1.4 660)
***************
*** 62,84 ****
  static BQUE *qlfirst = NULL, *qllast = NULL;
  static BQUE *qsemfirst = NULL, *qsemlast = NULL;
  
! static int add_to_generic
! _((dbref player, int am, const char *name, int flags));
! static int add_to _((dbref player, int am));
! static int add_to_sem _((dbref player, int am, const char *name));
! static int queue_limit _((dbref player));
! void free_qentry _((BQUE *point));
! static int pay_queue _((dbref player, const char *command));
  void wait_que
! _((dbref player, int wait, char *command,
!    dbref cause, dbref sem, const char *semattr, int until));
! int que_next _((void));
  
  static void show_queue
! _((dbref player, dbref victim, int q_type,
!    int q_quiet, int q_all, BQUE *q_ptr, int *tot, int *self, int *del));
! static void do_raw_restart _((dbref victim));
! static int waitable_attr _((dbref thing, const char *atr));
  
  /* Returns true if the attribute on thing can be used as a semaphore */
  #define SEMAPHORE_FLAGS (AF_LOCKED | AF_PRIVATE | AF_NOCOPY | AF_NODUMP)
--- 62,83 ----
  static BQUE *qlfirst = NULL, *qllast = NULL;
  static BQUE *qsemfirst = NULL, *qsemlast = NULL;
  
! static int add_to_generic(dbref player, int am, const char *name, int flags);
! static int add_to(dbref player, int am);
! static int add_to_sem(dbref player, int am, const char *name);
! static int queue_limit(dbref player);
! void free_qentry(BQUE *point);
! static int pay_queue(dbref player, const char *command);
  void wait_que
!   (dbref player, int wait, char *command,
!    dbref cause, dbref sem, const char *semattr, int until);
! int que_next(void);
  
  static void show_queue
!   (dbref player, dbref victim, int q_type,
!    int q_quiet, int q_all, BQUE *q_ptr, int *tot, int *self, int *del);
! static void do_raw_restart(dbref victim);
! static int waitable_attr(dbref thing, const char *atr);
  
  /* Returns true if the attribute on thing can be used as a semaphore */
  #define SEMAPHORE_FLAGS (AF_LOCKED | AF_PRIVATE | AF_NOCOPY | AF_NODUMP)
*** 1_7_5.214/src/conf.c Wed, 19 Jun 2002 21:51:19 -0500 dunemush (pennmush/c/31_conf.c 1.41.2.3.1.3.1.2.1.3 660)
--- 1_7_5.224(w)/src/conf.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/31_conf.c 1.41.2.3.1.3.1.2.1.4 660)
***************
*** 1204,1219 ****
    static char result[BUFFER_LEN];
  
    if (cp->handler == cf_str)
!     strcpy(result, tprintf(" %-40s %s", MAYBE_LC(cp->name), (char *) cp->loc));
    else if (cp->handler == cf_int)
!     strcpy(result,
! 	   tprintf(" %-40s %d", MAYBE_LC(cp->name), *((int *) cp->loc)));
    else if (cp->handler == cf_bool)
!     strcpy(result, tprintf(" %-40s %s", MAYBE_LC(cp->name),
! 			   (*((int *) cp->loc) ? "Yes" : "No")));
    else if (cp->handler == cf_dbref)
!     strcpy(result,
! 	   tprintf(" %-40s #%d", MAYBE_LC(cp->name), *((dbref *) cp->loc)));
    else if (cp->handler == cf_flag) {
      int type = NOTYPE;
      switch (cp->name[0]) {
--- 1204,1217 ----
    static char result[BUFFER_LEN];
  
    if (cp->handler == cf_str)
!     sprintf(result, " %-40s %s", MAYBE_LC(cp->name), (char *) cp->loc);
    else if (cp->handler == cf_int)
!     sprintf(result, " %-40s %d", MAYBE_LC(cp->name), *((int *) cp->loc));
    else if (cp->handler == cf_bool)
!     sprintf(result, " %-40s %s", MAYBE_LC(cp->name),
! 	    (*((int *) cp->loc) ? "Yes" : "No"));
    else if (cp->handler == cf_dbref)
!     sprintf(result, " %-40s #%d", MAYBE_LC(cp->name), *((dbref *) cp->loc));
    else if (cp->handler == cf_flag) {
      int type = NOTYPE;
      switch (cp->name[0]) {
***************
*** 1230,1237 ****
        type = TYPE_THING;
        break;
      }
!     strcpy(result, tprintf(" %-40s %s", MAYBE_LC(cp->name),
! 			   togglemask_to_string(type, *((int *) cp->loc))));
    }
    return result;
  }
--- 1228,1235 ----
        type = TYPE_THING;
        break;
      }
!     sprintf(result, " %-40s %s", MAYBE_LC(cp->name),
! 	    togglemask_to_string(type, *((int *) cp->loc)));
    }
    return result;
  }
***************
*** 1243,1255 ****
  {
    static char result[BUFFER_LEN];
    if (cp->handler == cf_str)
!     strcpy(result, tprintf("%s", (char *) cp->loc));
    else if (cp->handler == cf_int)
!     strcpy(result, tprintf("%d", *((int *) cp->loc)));
    else if (cp->handler == cf_bool)
!     strcpy(result, tprintf("%s", (*((int *) cp->loc) ? "Yes" : "No")));
    else if (cp->handler == cf_dbref)
!     strcpy(result, tprintf("#%d", *((dbref *) cp->loc)));
    else if (cp->handler == cf_flag) {
      int type = NOTYPE;
      switch (cp->name[0]) {
--- 1241,1253 ----
  {
    static char result[BUFFER_LEN];
    if (cp->handler == cf_str)
!     sprintf(result, "%s", (char *) cp->loc);
    else if (cp->handler == cf_int)
!     sprintf(result, "%d", *((int *) cp->loc));
    else if (cp->handler == cf_bool)
!     sprintf(result, "%s", (*((int *) cp->loc) ? "Yes" : "No"));
    else if (cp->handler == cf_dbref)
!     sprintf(result, "#%d", *((dbref *) cp->loc));
    else if (cp->handler == cf_flag) {
      int type = NOTYPE;
      switch (cp->name[0]) {
***************
*** 1266,1273 ****
        type = TYPE_THING;
        break;
      }
!     strcpy(result,
! 	   tprintf("%s", togglemask_to_string(type, *((int *) cp->loc))));
    }
    return result;
  }
--- 1264,1270 ----
        type = TYPE_THING;
        break;
      }
!     strcpy(result, togglemask_to_string(type, *((int *) cp->loc)));
    }
    return result;
  }
*** 1_7_5.214/src/comp_w.c Tue, 25 Sep 2001 15:43:47 -0500 dunemush (pennmush/c/33_comp_w.c 1.9 660)
--- 1_7_5.224(w)/src/comp_w.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/33_comp_w.c 1.10 660)
***************
*** 164,176 ****
  
  static unsigned char *b;
  
! static void output_previous_word _((void));
! int init_compress _((FILE * f));
  #ifdef COMP_STATS
! void compress_stats _((long *entries, long *mem_used,
! 		       long *total_uncompressed, long *total_compressed));
  #endif
! unsigned int hash_fn _((const char *s, int hashtab_mask));
  
  static void
  output_previous_word()
--- 164,176 ----
  
  static unsigned char *b;
  
! static void output_previous_word(void);
! int init_compress(FILE * f);
  #ifdef COMP_STATS
! void compress_stats(long *entries, long *mem_used,
! 		    long *total_uncompressed, long *total_compressed);
  #endif
! unsigned int hash_fn(const char *s, int hashtab_mask);
  
  static void
  output_previous_word()
*** 1_7_5.214/src/comp_w8.c Fri, 26 Oct 2001 10:44:14 -0500 dunemush (pennmush/f/33_comp_w8.c 1.5 660)
--- 1_7_5.224(w)/src/comp_w8.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/f/33_comp_w8.c 1.6 660)
***************
*** 166,178 ****
  
  static unsigned char *b;
  
! static void output_previous_word _((void));
! int init_compress _((FILE * f));
  #ifdef COMP_STATS
! void compress_stats _((long *entries, long *mem_used,
! 		       long *total_uncompressed, long *total_compressed));
  #endif
! unsigned int hash_fn _((const char *s, int hashtab_mask));
  
  static void
  output_previous_word()
--- 166,178 ----
  
  static unsigned char *b;
  
! static void output_previous_word(void);
! int init_compress(FILE * f);
  #ifdef COMP_STATS
! void compress_stats(long *entries, long *mem_used,
! 		    long *total_uncompressed, long *total_compressed);
  #endif
! unsigned int hash_fn(const char *s, int hashtab_mask);
  
  static void
  output_previous_word()
*** 1_7_5.214/src/comp_h.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/34_comp_h.c 1.9 660)
--- 1_7_5.224(w)/src/comp_h.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/34_comp_h.c 1.10 660)
***************
*** 70,79 ****
  static CType ctable[TABLE_SIZE];
  static char ltable[TABLE_SIZE];
  
! static int fix_tree_depth _((CNode *node, int height, int zeros));
! static void add_ones _((CNode *node));
! static void build_ctable _((CNode *root, CType code, int numbits));
! int init_compress _((FILE * f));
  
  
  /* Compress a string: this is pretty easy. For each char in the string,
--- 70,79 ----
  static CType ctable[TABLE_SIZE];
  static char ltable[TABLE_SIZE];
  
! static int fix_tree_depth(CNode *node, int height, int zeros);
! static void add_ones(CNode *node);
! static void build_ctable(CNode *root, CType code, int numbits);
! int init_compress(FILE * f);
  
  
  /* Compress a string: this is pretty easy. For each char in the string,
*** 1_7_5.214/src/command.c Mon, 10 Jun 2002 17:43:21 -0500 dunemush (pennmush/c/36_command.c 1.56.1.1.1.1.1.1.1.2.1.1.1.1.1.5.1.2.1.1.1.1.1.2.1.3.1.2 660)
--- 1_7_5.224(w)/src/command.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/36_command.c 1.56.1.1.1.1.1.1.1.2.1.1.1.1.1.5.1.2.1.1.1.1.1.2.1.3.1.4 660)
***************
*** 207,215 ****
    {"@REJECTMOTD", NULL, cmd_rejectmotd, CMD_T_ANY, WIZARD, 0, 0},
    {"@RESTART", "ALL", cmd_restart, CMD_T_ANY | CMD_T_NOGAGGED, 0, 0, 0},
  
!   {"@RWALL", NULL, cmd_rwall, CMD_T_ANY, WIZARD | ROYALTY, 0, 0},
!   {"@RWALLPOSE", NULL, cmd_rwallpose, CMD_T_ANY, WIZARD | ROYALTY, 0, 0},
!   {"@RWALLEMIT", NULL, cmd_rwallemit, CMD_T_ANY, WIZARD | ROYALTY, 0, 0},
  
    {"@SCAN", "ROOM SELF ZONE GLOBALS", cmd_scan,
     CMD_T_ANY | CMD_T_NOGAGGED, 0, 0, 0},
--- 207,215 ----
    {"@REJECTMOTD", NULL, cmd_rejectmotd, CMD_T_ANY, WIZARD, 0, 0},
    {"@RESTART", "ALL", cmd_restart, CMD_T_ANY | CMD_T_NOGAGGED, 0, 0, 0},
  
!   {"@RWALL", "NOEVAL", cmd_rwall, CMD_T_ANY, WIZARD | ROYALTY, 0, 0},
!   {"@RWALLPOSE", "NOEVAL", cmd_rwallpose, CMD_T_ANY, WIZARD | ROYALTY, 0, 0},
!   {"@RWALLEMIT", "NOEVAL", cmd_rwallemit, CMD_T_ANY, WIZARD | ROYALTY, 0, 0},
  
    {"@SCAN", "ROOM SELF ZONE GLOBALS", cmd_scan,
     CMD_T_ANY | CMD_T_NOGAGGED, 0, 0, 0},
***************
*** 256,266 ****
    {"@WAIT", "UNTIL", cmd_wait, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_NOPARSE,
     0, 0, 0},
  
!   {"@WALL", "WIZARD ROYALTY EMIT POSE", cmd_wall, CMD_T_ANY,
     WIZARD | ROYALTY, 0, CAN_WALL},
!   {"@WALLPOSE", NULL, cmd_wallpose, CMD_T_ANY, WIZARD | ROYALTY, 0,
     CAN_WALL},
!   {"@WALLEMIT", NULL, cmd_wallemit, CMD_T_ANY, WIZARD | ROYALTY, 0,
     CAN_WALL},
  
  #ifdef USE_WARNINGS
--- 256,266 ----
    {"@WAIT", "UNTIL", cmd_wait, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_NOPARSE,
     0, 0, 0},
  
!   {"@WALL", "WIZARD ROYALTY NOEVAL EMIT POSE", cmd_wall, CMD_T_ANY,
     WIZARD | ROYALTY, 0, CAN_WALL},
!   {"@WALLPOSE", "NOEVAL", cmd_wallpose, CMD_T_ANY, WIZARD | ROYALTY, 0,
     CAN_WALL},
!   {"@WALLEMIT", "NOEVAL", cmd_wallemit, CMD_T_ANY, WIZARD | ROYALTY, 0,
     CAN_WALL},
  
  #ifdef USE_WARNINGS
***************
*** 269,277 ****
  #endif
    {"@WHEREIS", NULL, cmd_whereis, CMD_T_ANY | CMD_T_NOGAGGED, 0, 0, 0},
    {"@WIPE", NULL, cmd_wipe, CMD_T_ANY, 0, 0, 0},
!   {"@WIZWALL", NULL, cmd_wizwall, CMD_T_ANY, WIZARD, 0, 0},
!   {"@WIZPOSE", NULL, cmd_wizpose, CMD_T_ANY, WIZARD, 0, 0},
!   {"@WIZEMIT", NULL, cmd_wizemit, CMD_T_ANY, WIZARD, 0, 0},
    {"@WIZMOTD", NULL, cmd_wizmotd, CMD_T_ANY, WIZARD, 0, 0},
  
    {"@ZEMIT", NULL, cmd_zemit, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED,
--- 269,277 ----
  #endif
    {"@WHEREIS", NULL, cmd_whereis, CMD_T_ANY | CMD_T_NOGAGGED, 0, 0, 0},
    {"@WIPE", NULL, cmd_wipe, CMD_T_ANY, 0, 0, 0},
!   {"@WIZWALL", "NOEVAL", cmd_wizwall, CMD_T_ANY, WIZARD, 0, 0},
!   {"@WIZPOSE", "NOEVAL", cmd_wizpose, CMD_T_ANY, WIZARD, 0, 0},
!   {"@WIZEMIT", "NOEVAL", cmd_wizemit, CMD_T_ANY, WIZARD, 0, 0},
    {"@WIZMOTD", NULL, cmd_wizmotd, CMD_T_ANY, WIZARD, 0, 0},
  
    {"@ZEMIT", NULL, cmd_zemit, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED,
***************
*** 333,342 ****
  };
  
  
! SWITCH_VALUE switch_list[] = {
  #include "switchinc.c"
-   {NULL, 0}
- };
  
  static void
  strccat(char *buff, char **bp, const char *from)
--- 333,340 ----
  };
  
  
! /* switch_list is defined in switchinc.c */
  #include "switchinc.c"
  
  static void
  strccat(char *buff, char **bp, const char *from)
*** 1_7_5.214/src/cmds.c Mon, 10 Jun 2002 17:43:21 -0500 dunemush (pennmush/c/37_cmds.c 1.33.1.1.1.2.1.2.2.3.1.1.1.2.1.1.1.3.1.3 660)
--- 1_7_5.224(w)/src/cmds.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/37_cmds.c 1.33.1.1.1.2.1.2.2.3.1.1.1.2.1.1.1.3.1.5 660)
***************
*** 364,375 ****
      char *saved;
      split = 0;
      saved = NULL;
!     if (!args_right[1] || !*args_right[1]) {
        split = 1;
!       saved = args_right[1];
!       args_right[1] = strchr(args_right[0], '/');
!       if (args_right[1])
! 	*args_right[1]++ = '\0';
      }
      if (args_right[1] && *args_right[1])
        do_function(player, arg_left, args_right);
--- 364,374 ----
      char *saved;
      split = 0;
      saved = NULL;
!     if (args_right[1] && *args_right[1] && !(args_right[2] && *args_right[2])) {
        split = 1;
!       saved = args_right[2];
!       args_right[2] = strchr(args_right[1], '/');
!       *args_right[2]++ = '\0';
      }
      if (args_right[1] && *args_right[1])
        do_function(player, arg_left, args_right);
***************
*** 378,386 ****
      else
        do_function(player, NULL, NULL);
      if (split) {
!       if (args_right[1])
! 	*--args_right[1] = '/';
!       args_right[1] = saved;
      }
    }
  }
--- 377,385 ----
      else
        do_function(player, NULL, NULL);
      if (split) {
!       if (args_right[2])
! 	*--args_right[2] = '/';
!       args_right[2] = saved;
      }
    }
  }
*** 1_7_5.214/src/bsd.c Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/c/38_bsd.c 1.58.1.11.1.2.1.5.1.7.1.14.1.13.1.9.1.4.1.2.1.12.1.1.1.1.1.2.1.1.1.13.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.3 660)
--- 1_7_5.224(w)/src/bsd.c Sat, 20 Jul 2002 12:07:46 -0500 dunemush (pennmush/c/38_bsd.c 1.58.1.11.1.2.1.5.1.7.1.14.1.13.1.9.1.4.1.2.1.12.1.1.1.1.1.2.1.1.1.13.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.4 660)
***************
*** 141,152 ****
  #endif				/* defines for BSD 4.2 */
  
  #ifdef HAS_GETRUSAGE
! extern void rusage_stats _((void));
  #endif
! extern int que_next _((void));	/* from cque.c */
  extern int on_second;
! extern void dispatch _((void));	/* from timer.c */
! extern dbref email_register_player _((const char *name, const char *email, const char *host, const char *ip));	/* from player.c */
  
  extern time_t start_time, first_start_time;
  extern int reboot_count;
--- 141,152 ----
  #endif				/* defines for BSD 4.2 */
  
  #ifdef HAS_GETRUSAGE
! extern void rusage_stats(void);
  #endif
! extern int que_next(void);	/* from cque.c */
  extern int on_second;
! extern void dispatch(void);	/* from timer.c */
! extern dbref email_register_player(const char *name, const char *email, const char *host, const char *ip);	/* from player.c */
  
  extern time_t start_time, first_start_time;
  extern int reboot_count;
***************
*** 310,316 ****
  
  #if 0
  /* For translation */
! static void dummy_msgs _((void));
  static void
  dummy_msgs()
  {
--- 310,316 ----
  
  #if 0
  /* For translation */
! static void dummy_msgs(void);
  static void
  dummy_msgs()
  {
***************
*** 351,384 ****
  sig_atomic_t signal_dump_flag = 0;
  
  #ifdef HAS_GETRLIMIT
! static void init_rlimit _((void));
  #endif
  #ifndef BOOLEXP_DEBUGGING
  #ifdef WIN32
! void mainthread _((int argc, char **argv));
  #else
! int main _((int argc, char **argv));
  #endif
  #endif
! void set_signals _((void));
! struct timeval *timeval_sub _((struct timeval * now, struct timeval * then));
  /* Windows doesn't have gettimeofday(). Implement it if on windows,
   * otherwise just call gettimeofday(). Cuts down on conditional code
   * elsewhere */
  #ifdef WIN32
! void win_gettimeofday _((struct timeval * now));
  #define our_gettimeofday(now) win_gettimeofday((now))
  #else
  #define our_gettimeofday(now) gettimeofday((now), (struct timezone *)NULL)
  #endif
! long int msec_diff _((struct timeval * now, struct timeval * then));
! struct timeval *msec_add _((struct timeval * t, int x));
! struct timeval *update_quotas
! _((struct timeval * last, struct timeval * current));
! 
! void shovechars _((Port_t port));
! DESC *new_connection _((int oldsock));
! void clearstrings _((DESC *d));
  typedef struct fblock {
    char *buff;
    size_t len;
--- 351,383 ----
  sig_atomic_t signal_dump_flag = 0;
  
  #ifdef HAS_GETRLIMIT
! static void init_rlimit(void);
  #endif
  #ifndef BOOLEXP_DEBUGGING
  #ifdef WIN32
! void mainthread(int argc, char **argv);
  #else
! int main(int argc, char **argv);
  #endif
  #endif
! void set_signals(void);
! struct timeval *timeval_sub(struct timeval *now, struct timeval *then);
  /* Windows doesn't have gettimeofday(). Implement it if on windows,
   * otherwise just call gettimeofday(). Cuts down on conditional code
   * elsewhere */
  #ifdef WIN32
! void win_gettimeofday(struct timeval *now);
  #define our_gettimeofday(now) win_gettimeofday((now))
  #else
  #define our_gettimeofday(now) gettimeofday((now), (struct timezone *)NULL)
  #endif
! long int msec_diff(struct timeval *now, struct timeval *then);
! struct timeval *msec_add(struct timeval *t, int x);
! struct timeval *update_quotas(struct timeval *last, struct timeval *current);
! 
! void shovechars(Port_t port);
! DESC *new_connection(int oldsock);
! void clearstrings(DESC *d);
  typedef struct fblock {
    char *buff;
    size_t len;
***************
*** 410,448 ****
  int queue_new_eol(DESC *d);
  int queue_string(DESC *d, const char *s);
  static int queue_string_eol(DESC *d, const char *s);
! int process_output _((DESC *d));
! void freeqs _((DESC *d));
  void welcome_user(DESC *d);
! static void dump_info _((DESC *call_by));
! void save_command _((DESC *d, const char *command));
! int process_input _((DESC *d));
! void process_input_helper _((DESC *d, char *tbuf1, int got));
! void set_userstring _((char **userstring, const char *command));
! void process_commands _((void));
! int do_command _((DESC *d, char *command));
! static int dump_messages _((DESC *d, dbref player, int new));
! int check_connect _((DESC *d, const char *msg));
! void parse_connect _((const char *msg, char *command, char *user, char *pass));
! void close_sockets _((void));
! dbref find_player_by_desc _((int port));
  void bailout(int sig) __attribute__ ((__noreturn__));
  void signal_shutdown(int sig);
  void signal_dump(int sig);
! void dump_users _((DESC *call_by, char *match, int doing));
! const char *time_format_1 _((long int dt));
! const char *time_format_2 _((long int dt));
! static void announce_connect _((dbref player, int isnew, int num));
! static void announce_disconnect _((dbref player));
! void inactivity_check _((void));
  #ifdef INFO_SLAVE
! static void make_info_slave _((void));
! static void promote_info_slave _((void));
! static void query_info_slave _((int fd));
! static void reap_info_slave _((void));
! void kill_info_slave _((void));
  #endif
! void reopen_logs _((void));
! void load_reboot_db _((void));
  #ifdef HAS_GETRLIMIT
  static void
  init_rlimit()
--- 409,447 ----
  int queue_new_eol(DESC *d);
  int queue_string(DESC *d, const char *s);
  static int queue_string_eol(DESC *d, const char *s);
! int process_output(DESC *d);
! void freeqs(DESC *d);
  void welcome_user(DESC *d);
! static void dump_info(DESC *call_by);
! void save_command(DESC *d, const char *command);
! int process_input(DESC *d);
! void process_input_helper(DESC *d, char *tbuf1, int got);
! void set_userstring(char **userstring, const char *command);
! void process_commands(void);
! int do_command(DESC *d, char *command);
! static int dump_messages(DESC *d, dbref player, int new);
! int check_connect(DESC *d, const char *msg);
! void parse_connect(const char *msg, char *command, char *user, char *pass);
! void close_sockets(void);
! dbref find_player_by_desc(int port);
  void bailout(int sig) __attribute__ ((__noreturn__));
  void signal_shutdown(int sig);
  void signal_dump(int sig);
! void dump_users(DESC *call_by, char *match, int doing);
! const char *time_format_1(long int dt);
! const char *time_format_2(long int dt);
! static void announce_connect(dbref player, int isnew, int num);
! static void announce_disconnect(dbref player);
! void inactivity_check(void);
  #ifdef INFO_SLAVE
! static void make_info_slave(void);
! static void promote_info_slave(void);
! static void query_info_slave(int fd);
! static void reap_info_slave(void);
! void kill_info_slave(void);
  #endif
! void reopen_logs(void);
! void load_reboot_db(void);
  #ifdef HAS_GETRLIMIT
  static void
  init_rlimit()
***************
*** 1444,1450 ****
  
  #define NA_PUPPET2 0x0080
  
! static int nohtml_strlen _((const char *s, dbref puppet));
  static int
  nohtml_strlen(s, puppet)
      const char *s;
--- 1443,1449 ----
  
  #define NA_PUPPET2 0x0080
  
! static int nohtml_strlen(const char *s, dbref puppet);
  static int
  nohtml_strlen(s, puppet)
      const char *s;
***************
*** 4097,4112 ****
      target = d->player;
    switch (key) {
    case 1:
!     safe_format(tbuf, &tbp, T("From afar, %s%s%s"), db[player].name, gap,
  		message + 1);
      notify_format(player, T("Long distance to %s: %s%s%s"),
! 		  target != NOTHING ? db[target].name :
! 		  T("a connecting player"), db[player].name, gap, message + 1);
      break;
    case 3:
!     safe_format(tbuf, &tbp, T("%s pages: %s"), db[player].name, message);
      notify_format(player, T("You paged %s with '%s'."),
! 		  target != NOTHING ? db[target].name :
  		  T("a connecting player"), message);
      break;
    }
--- 4096,4111 ----
      target = d->player;
    switch (key) {
    case 1:
!     safe_format(tbuf, &tbp, T("From afar, %s%s%s"), Name(player), gap,
  		message + 1);
      notify_format(player, T("Long distance to %s: %s%s%s"),
! 		  target != NOTHING ? Name(target) :
! 		  T("a connecting player"), Name(player), gap, message + 1);
      break;
    case 3:
!     safe_format(tbuf, &tbp, T("%s pages: %s"), Name(player), message);
      notify_format(player, T("You paged %s with '%s'."),
! 		  target != NOTHING ? Name(target) :
  		  T("a connecting player"), message);
      break;
    }
*** 1_7_5.214/src/boolexp.c Thu, 30 May 2002 12:14:33 -0500 dunemush (pennmush/c/39_boolexp.c 1.1.1.17.1.1.1.5 660)
--- 1_7_5.224(w)/src/boolexp.c Sat, 20 Jul 2002 12:07:45 -0500 dunemush (pennmush/c/39_boolexp.c 1.1.1.17.1.1.1.6 660)
***************
*** 17,23 ****
  #include "lock.h"
  #include "parse.h"
  #include "attrib.h"
- #include "boolexp.h"
  #include "flags.h"
  #include "dbdefs.h"
  #include "log.h"
--- 17,22 ----
*** 1_7_5.214/src/Makefile Wed, 26 Jun 2002 08:50:49 -0500 dunemush (pennmush/c/44_Makefile 1.21.1.7 700)
--- 1_7_5.224(w)/src/Makefile Sat, 20 Jul 2002 11:48:25 -0500 dunemush (pennmush/c/44_Makefile 1.21.1.9 700)
***************
*** 192,202 ****
  	  (cd ../utils; sh mkcmds.sh); \
  	fi
  
- ../hdrs/switches.h: SWITCHES
- 	if [ ! -f ../hdrs/switches.h ]; then \
- 	  (cd ../utils; sh mkcmds.sh); \
- 	fi
- 
  ../po/pennmush.pot: $(C_FILES) $(H_FILES)
  	xgettext -d pennmush -kT -o ../po/pennmush.pot $(C_FILES) $(H_FILES)
  
--- 192,197 ----
***************
*** 257,262 ****
--- 252,258 ----
  access.o: ../hdrs/mushtype.h
  access.o: ../hdrs/externs.h
  access.o: ../confmagic.h
+ access.o: ../hdrs/memcheck.h
  access.o: ../hdrs/access.h
  access.o: ../hdrs/mymalloc.h
  access.o: ../hdrs/match.h
***************
*** 274,280 ****
  atr_tab.o: ../confmagic.h
  atr_tab.o: ../hdrs/attrib.h
  atr_tab.o: ../hdrs/atr_tab.h
! atr_tab.o: ../hdrs/htab.h
  atr_tab.o: ../hdrs/privtab.h
  atr_tab.o: ../hdrs/mymalloc.h
  atr_tab.o: ../hdrs/dbdefs.h
--- 270,276 ----
  atr_tab.o: ../confmagic.h
  atr_tab.o: ../hdrs/attrib.h
  atr_tab.o: ../hdrs/atr_tab.h
! atr_tab.o: ../hdrs/ptab.h
  atr_tab.o: ../hdrs/privtab.h
  atr_tab.o: ../hdrs/mymalloc.h
  atr_tab.o: ../hdrs/dbdefs.h
***************
*** 290,295 ****
--- 286,292 ----
  attrib.o: ../hdrs/externs.h
  attrib.o: ../confmagic.h
  attrib.o: ../hdrs/match.h
+ attrib.o: ../hdrs/memcheck.h
  attrib.o: ../hdrs/parse.h
  attrib.o: ../hdrs/htab.h
  attrib.o: ../hdrs/privtab.h
***************
*** 342,347 ****
--- 339,345 ----
  bsd.o: ../hdrs/ident.h
  bsd.o: ../hdrs/strtree.h
  bsd.o: ../hdrs/log.h
+ bsd.o: ../hdrs/memcheck.h
  bsd.o: ../hdrs/mymalloc.h
  bsd.o: ../hdrs/extchat.h
  bsd.o: ../hdrs/extmail.h
***************
*** 358,363 ****
--- 356,362 ----
  cmdlocal.o: ../hdrs/htab.h
  cmdlocal.o: ../hdrs/command.h
  cmdlocal.o: ../hdrs/switches.h
+ cmdlocal.o: ../hdrs/cmds.h
  cmds.o: ../hdrs/copyrite.h
  cmds.o: ../config.h
  cmds.o: ../hdrs/conf.h
***************
*** 402,407 ****
--- 401,407 ----
  command.o: ../hdrs/parse.h
  command.o: ../hdrs/access.h
  command.o: ../hdrs/version.h
+ command.o: ../hdrs/ptab.h
  command.o: ../hdrs/htab.h
  command.o: ../hdrs/function.h
  command.o: ../hdrs/command.h
***************
*** 409,414 ****
--- 409,415 ----
  command.o: ../hdrs/mymalloc.h
  command.o: ../hdrs/flags.h
  command.o: ../hdrs/log.h
+ command.o: ../hdrs/cmds.h
  command.o: switchinc.c
  compress.o: ../config.h
  compress.o: ../options.h
***************
*** 437,442 ****
--- 438,444 ----
  conf.o: ../hdrs/log.h
  conf.o: ../hdrs/dbdefs.h
  conf.o: ../hdrs/game.h
+ conf.o: ../hdrs/attrib.h
  conf.o: ../hdrs/help.h
  conf.o: ../hdrs/function.h
  cque.o: ../hdrs/copyrite.h
***************
*** 444,453 ****
--- 446,458 ----
  cque.o: ../hdrs/conf.h
  cque.o: ../options.h
  cque.o: ../hdrs/mushtype.h
+ cque.o: ../hdrs/command.h
+ cque.o: ../hdrs/switches.h
  cque.o: ../hdrs/mushdb.h
  cque.o: ../hdrs/match.h
  cque.o: ../hdrs/externs.h
  cque.o: ../confmagic.h
+ cque.o: ../hdrs/memcheck.h
  cque.o: ../hdrs/parse.h
  cque.o: ../hdrs/strtree.h
  cque.o: ../hdrs/mymalloc.h
***************
*** 483,488 ****
--- 488,494 ----
  db.o: ../hdrs/attrib.h
  db.o: ../hdrs/externs.h
  db.o: ../confmagic.h
+ db.o: ../hdrs/memcheck.h
  db.o: ../hdrs/mymalloc.h
  db.o: ../hdrs/game.h
  db.o: ../hdrs/flags.h
***************
*** 559,565 ****
  flags.o: ../hdrs/externs.h
  flags.o: ../confmagic.h
  flags.o: ../hdrs/match.h
! flags.o: ../hdrs/htab.h
  flags.o: ../hdrs/game.h
  flags.o: ../hdrs/flags.h
  flags.o: ../hdrs/dbdefs.h
--- 565,571 ----
  flags.o: ../hdrs/externs.h
  flags.o: ../confmagic.h
  flags.o: ../hdrs/match.h
! flags.o: ../hdrs/ptab.h
  flags.o: ../hdrs/game.h
  flags.o: ../hdrs/flags.h
  flags.o: ../hdrs/dbdefs.h
***************
*** 580,590 ****
--- 586,598 ----
  function.o: ../hdrs/match.h
  function.o: ../hdrs/htab.h
  function.o: ../hdrs/parse.h
+ function.o: ../hdrs/memcheck.h
  function.o: ../hdrs/lock.h
  function.o: ../hdrs/boolexp.h
  function.o: ../hdrs/flags.h
  function.o: ../hdrs/game.h
  function.o: ../hdrs/mymalloc.h
+ function.o: ../hdrs/funs.h
  fundb.o: ../hdrs/copyrite.h
  fundb.o: ../config.h
  fundb.o: ../hdrs/conf.h
***************
*** 601,606 ****
--- 609,615 ----
  fundb.o: ../hdrs/game.h
  fundb.o: ../hdrs/mushdb.h
  fundb.o: ../hdrs/privtab.h
+ fundb.o: ../hdrs/memcheck.h
  fundb.o: ../hdrs/lock.h
  fundb.o: ../hdrs/boolexp.h
  fundb.o: ../hdrs/log.h
***************
*** 681,686 ****
--- 690,696 ----
  funstr.o: ../hdrs/flags.h
  funstr.o: ../hdrs/dbdefs.h
  funstr.o: ../hdrs/mushdb.h
+ funstr.o: ../hdrs/htab.h
  funstr.o: ../hdrs/lock.h
  funstr.o: ../hdrs/boolexp.h
  funtime.o: ../hdrs/copyrite.h
***************
*** 723,728 ****
--- 733,739 ----
  game.o: ../hdrs/case.h
  game.o: ../hdrs/extmail.h
  game.o: ../hdrs/extchat.h
+ game.o: ../hdrs/memcheck.h
  game.o: ../hdrs/getpgsiz.h
  game.o: ../hdrs/parse.h
  game.o: ../hdrs/access.h
***************
*** 731,736 ****
--- 742,748 ----
  game.o: ../hdrs/command.h
  game.o: ../hdrs/switches.h
  game.o: ../hdrs/htab.h
+ game.o: ../hdrs/ptab.h
  game.o: ../hdrs/log.h
  game.o: ../hdrs/lock.h
  game.o: ../hdrs/boolexp.h
***************
*** 751,756 ****
--- 763,769 ----
  help.o: ../hdrs/help.h
  help.o: ../hdrs/log.h
  help.o: ../hdrs/ansi.h
+ help.o: ../hdrs/parse.h
  help.o: ../hdrs/pueblo.h
  help.o: ../hdrs/flags.h
  help.o: ../hdrs/dbdefs.h
***************
*** 804,809 ****
--- 817,823 ----
  lock.o: ../hdrs/log.h
  lock.o: ../hdrs/flags.h
  lock.o: ../hdrs/dbdefs.h
+ lock.o: ../hdrs/memcheck.h
  lock.o: ../hdrs/mymalloc.h
  lock.o: ../hdrs/strtree.h
  lock.o: ../hdrs/privtab.h
***************
*** 844,860 ****
  mycrypt.o: ../hdrs/copyrite.h
  mycrypt.o: ../options.h
  mycrypt.o: ../hdrs/mushtype.h
  mycrypt.o: ../confmagic.h
  mymalloc.o: ../config.h
  mymalloc.o: ../options.h
  mymalloc.o: ../confmagic.h
- mymalloc.o: csrimalloc.c
- mymalloc.o: ../hdrs/conf.h
- mymalloc.o: ../hdrs/copyrite.h
- mymalloc.o: ../hdrs/mushtype.h
- mymalloc.o: ../hdrs/externs.h
- mymalloc.o: ../hdrs/mymalloc.h
- mymalloc.o: ../hdrs/csrimalloc.h
  malias.o: ../config.h
  malias.o: ../hdrs/copyrite.h
  malias.o: ../hdrs/conf.h
--- 858,869 ----
  mycrypt.o: ../hdrs/copyrite.h
  mycrypt.o: ../options.h
  mycrypt.o: ../hdrs/mushtype.h
+ mycrypt.o: ../hdrs/shs.h
  mycrypt.o: ../confmagic.h
+ mycrypt.o: shs.c
  mymalloc.o: ../config.h
  mymalloc.o: ../options.h
  mymalloc.o: ../confmagic.h
  malias.o: ../config.h
  malias.o: ../hdrs/copyrite.h
  malias.o: ../hdrs/conf.h
***************
*** 872,877 ****
--- 881,887 ----
  malias.o: ../hdrs/flags.h
  malias.o: ../hdrs/pueblo.h
  malias.o: ../hdrs/log.h
+ malias.o: ../hdrs/memcheck.h
  match.o: ../hdrs/copyrite.h
  match.o: ../config.h
  match.o: ../hdrs/conf.h
***************
*** 890,895 ****
--- 900,911 ----
  memcheck.o: ../hdrs/copyrite.h
  memcheck.o: ../options.h
  memcheck.o: ../hdrs/mushtype.h
+ memcheck.o: ../hdrs/externs.h
+ memcheck.o: ../confmagic.h
+ memcheck.o: ../hdrs/dbdefs.h
+ memcheck.o: ../hdrs/memcheck.h
+ memcheck.o: ../hdrs/mymalloc.h
+ memcheck.o: ../hdrs/log.h
  move.o: ../hdrs/copyrite.h
  move.o: ../config.h
  move.o: ../hdrs/conf.h
***************
*** 908,913 ****
--- 924,930 ----
  move.o: ../hdrs/log.h
  move.o: ../hdrs/command.h
  move.o: ../hdrs/switches.h
+ move.o: ../hdrs/cmds.h
  move.o: ../hdrs/game.h
  mysocket.o: ../hdrs/copyrite.h
  mysocket.o: ../config.h
***************
*** 937,942 ****
--- 954,960 ----
  parse.o: ../hdrs/pcre.h
  parse.o: ../hdrs/flags.h
  parse.o: ../hdrs/log.h
+ parse.o: ../hdrs/memcheck.h
  parse.o: ../hdrs/mymalloc.h
  pcre.o: ../config.h
  pcre.o: ../hdrs/pcre.h
***************
*** 995,1000 ****
--- 1013,1027 ----
  privtab.o: ../hdrs/privtab.h
  privtab.o: ../confmagic.h
  privtab.o: ../hdrs/externs.h
+ ptab.o: ../config.h
+ ptab.o: ../hdrs/copyrite.h
+ ptab.o: ../hdrs/externs.h
+ ptab.o: ../hdrs/conf.h
+ ptab.o: ../options.h
+ ptab.o: ../hdrs/mushtype.h
+ ptab.o: ../confmagic.h
+ ptab.o: ../hdrs/ptab.h
+ ptab.o: ../hdrs/memcheck.h
  rob.o: ../config.h
  rob.o: ../hdrs/copyrite.h
  rob.o: ../hdrs/conf.h
***************
*** 1010,1015 ****
--- 1037,1043 ----
  rob.o: ../hdrs/lock.h
  rob.o: ../hdrs/boolexp.h
  rob.o: ../hdrs/dbdefs.h
+ rob.o: ../hdrs/game.h
  set.o: ../hdrs/copyrite.h
  set.o: ../config.h
  set.o: ../hdrs/conf.h
***************
*** 1018,1024 ****
  set.o: ../hdrs/mushdb.h
  set.o: ../hdrs/match.h
  set.o: ../hdrs/attrib.h
- set.o: ../hdrs/boolexp.h
  set.o: ../hdrs/externs.h
  set.o: ../confmagic.h
  set.o: ../hdrs/ansi.h
--- 1046,1051 ----
***************
*** 1028,1033 ****
--- 1055,1061 ----
  set.o: ../hdrs/flags.h
  set.o: ../hdrs/dbdefs.h
  set.o: ../hdrs/lock.h
+ set.o: ../hdrs/boolexp.h
  set.o: ../hdrs/log.h
  sig.o: ../config.h
  sig.o: ../hdrs/externs.h
***************
*** 1082,1097 ****
--- 1110,1129 ----
  strutil.o: ../hdrs/parse.h
  strutil.o: ../confmagic.h
  strutil.o: ../hdrs/externs.h
+ strutil.o: ../hdrs/memcheck.h
  strutil.o: ../hdrs/mymalloc.h
+ strutil.o: ../hdrs/log.h
  timer.o: ../hdrs/copyrite.h
  timer.o: ../config.h
  timer.o: ../hdrs/conf.h
  timer.o: ../options.h
  timer.o: ../hdrs/mushtype.h
  timer.o: ../hdrs/match.h
+ timer.o: ../hdrs/flags.h
  timer.o: ../hdrs/externs.h
  timer.o: ../confmagic.h
  timer.o: ../hdrs/access.h
+ timer.o: ../hdrs/memcheck.h
  timer.o: ../hdrs/log.h
  timer.o: ../hdrs/game.h
  timer.o: ../hdrs/help.h
***************
*** 1116,1121 ****
--- 1148,1154 ----
  utils.o: ../hdrs/conf.h
  utils.o: ../options.h
  utils.o: ../hdrs/mushtype.h
+ utils.o: ../hdrs/memcheck.h
  utils.o: ../hdrs/match.h
  utils.o: ../hdrs/externs.h
  utils.o: ../confmagic.h
***************
*** 1124,1129 ****
--- 1157,1163 ----
  utils.o: ../hdrs/log.h
  utils.o: ../hdrs/flags.h
  utils.o: ../hdrs/dbdefs.h
+ utils.o: ../hdrs/attrib.h
  version.o: ../config.h
  version.o: ../hdrs/copyrite.h
  version.o: ../hdrs/conf.h
***************
*** 1140,1147 ****
  warnings.o: ../options.h
  warnings.o: ../hdrs/mushtype.h
  warnings.o: ../hdrs/mushdb.h
- warnings.o: ../hdrs/boolexp.h
  warnings.o: ../hdrs/lock.h
  warnings.o: ../hdrs/flags.h
  warnings.o: ../hdrs/dbdefs.h
  warnings.o: ../hdrs/externs.h
--- 1174,1181 ----
  warnings.o: ../options.h
  warnings.o: ../hdrs/mushtype.h
  warnings.o: ../hdrs/mushdb.h
  warnings.o: ../hdrs/lock.h
+ warnings.o: ../hdrs/boolexp.h
  warnings.o: ../hdrs/flags.h
  warnings.o: ../hdrs/dbdefs.h
  warnings.o: ../hdrs/externs.h
***************
*** 1182,1187 ****
--- 1216,1222 ----
  wiz.o: ../hdrs/switches.h
  wiz.o: ../hdrs/dbdefs.h
  wiz.o: ../hdrs/extmail.h
+ wiz.o: ../hdrs/memcheck.h
  ../hdrs/conf.o: ../hdrs/copyrite.h
  ../hdrs/conf.o: ../options.h
  ../hdrs/conf.o: ../hdrs/mushtype.h
*** 1_7_5.214/hdrs/version.h Thu, 04 Jul 2002 14:33:11 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.12 660)
--- 1_7_5.224(w)/hdrs/version.h Sat, 20 Jul 2002 12:07:50 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.13 660)
***************
*** 1,2 ****
! #define VERSION "PennMUSH version 1.7.5 patchlevel 8 [06/26/2002]"
! #define SHORTVN "PennMUSH 1.7.5p8"
--- 1,2 ----
! #define VERSION "PennMUSH version 1.7.5 patchlevel 9 [07/16/2002]"
! #define SHORTVN "PennMUSH 1.7.5p9"
*** 1_7_5.214/hdrs/pueblo.h Tue, 09 Apr 2002 11:29:01 -0500 dunemush (pennmush/c/50_pueblo.h 1.4 660)
--- 1_7_5.224(w)/hdrs/pueblo.h Sat, 20 Jul 2002 12:07:50 -0500 dunemush (pennmush/c/50_pueblo.h 1.5 660)
***************
*** 31,40 ****
  
  #define notify_pueblo(a,b) notify_anything(GOD, na_one, &(a), NULL, NA_PONLY | NA_NOPENTER | NA_NOLISTEN, b)
  
! int safe_tag _((char const *a_tag, char *buf, char **bp));
! int safe_tag_cancel _((char const *a_tag, char *buf, char **bp));
! int safe_tag_wrap _((char const *a_tag, char const *params,
! 		     char const *data, char *buf, char **bp));
  
  /* Please STAY SANE when modifying. 
   * Making this something like 'x' and 'y' is a BAD IDEA 
--- 31,40 ----
  
  #define notify_pueblo(a,b) notify_anything(GOD, na_one, &(a), NULL, NA_PONLY | NA_NOPENTER | NA_NOLISTEN, b)
  
! int safe_tag(char const *a_tag, char *buf, char **bp);
! int safe_tag_cancel(char const *a_tag, char *buf, char **bp);
! int safe_tag_wrap(char const *a_tag, char const *params,
! 		  char const *data, char *buf, char **bp);
  
  /* Please STAY SANE when modifying. 
   * Making this something like 'x' and 'y' is a BAD IDEA 
*** 1_7_5.214/hdrs/parse.h Tue, 02 Apr 2002 07:49:20 -0600 dunemush (pennmush/c/51_parse.h 1.10.1.3 660)
--- 1_7_5.224(w)/hdrs/parse.h Sat, 20 Jul 2002 12:07:50 -0500 dunemush (pennmush/c/51_parse.h 1.10.1.4 660)
***************
*** 40,47 ****
   * data of the appropriate types.  
   */
  
! extern int parse_boolean _((char const *str));
! extern dbref parse_dbref _((const char *s));
  
  #define parse_integer(str) strtol(str, NULL, 10)
  #define parse_uinteger(str) strtoul(str, NULL, 10)
--- 40,47 ----
   * data of the appropriate types.  
   */
  
! extern int parse_boolean(char const *str);
! extern dbref parse_dbref(const char *s);
  
  #define parse_integer(str) strtol(str, NULL, 10)
  #define parse_uinteger(str) strtoul(str, NULL, 10)
***************
*** 58,79 ****
  
  #define unparse_boolean(x) ((x) ? "1" : "0")
  
! char *unparse_dbref _((dbref num));
! char *unparse_integer _((int num));
! char *unparse_uinteger _((unsigned int num));
! char *unparse_number _((NVAL num));
  
  /* The following routines all take strings as arguments, and return
   * true iff the string is a valid representation of the appropriate type.
   */
! int is_dbref _((char const *str));
  
! int is_integer _((char const *str));
! int is_uinteger _((char const *str));
! int is_boolean _((char const *str));
  
  /* Split a sep-delimited string into individual elements */
! extern int list2arr _((char *r[], int max, char *list, char sep));
  
  
  
--- 58,79 ----
  
  #define unparse_boolean(x) ((x) ? "1" : "0")
  
! char *unparse_dbref(dbref num);
! char *unparse_integer(int num);
! char *unparse_uinteger(unsigned int num);
! char *unparse_number(NVAL num);
  
  /* The following routines all take strings as arguments, and return
   * true iff the string is a valid representation of the appropriate type.
   */
! int is_dbref(char const *str);
  
! int is_integer(char const *str);
! int is_uinteger(char const *str);
! int is_boolean(char const *str);
  
  /* Split a sep-delimited string into individual elements */
! extern int list2arr(char *r[], int max, char *list, char sep);
  
  
  
***************
*** 131,139 ****
  
  /* process_expression() evaluates expressions.  What a concept. */
  
! void process_expression _((char *buff, char **bp, char const **str,
! 			   dbref executor, dbref caller, dbref enactor,
! 			   int eflags, int tflags, PE_Info * pe_info));
  
  /* buff is a pointer to a BUFFER_LEN string to contain the expression
   * result.  *bp is the point in buff at which the result should be written.
--- 131,139 ----
  
  /* process_expression() evaluates expressions.  What a concept. */
  
! void process_expression(char *buff, char **bp, char const **str,
! 			dbref executor, dbref caller, dbref enactor,
! 			int eflags, int tflags, PE_Info * pe_info);
  
  /* buff is a pointer to a BUFFER_LEN string to contain the expression
   * result.  *bp is the point in buff at which the result should be written.
*** 1_7_5.214/hdrs/mushdb.h Thu, 25 Oct 2001 15:04:15 -0500 dunemush (pennmush/d/2_mushdb.h 1.1.1.9.1.1.1.2 660)
--- 1_7_5.224(w)/hdrs/mushdb.h Sat, 20 Jul 2002 12:07:50 -0500 dunemush (pennmush/d/2_mushdb.h 1.1.1.9.1.1.1.3 660)
***************
*** 64,70 ****
                               God(p))
  
  /* Can p locate x? */
! int unfindable _((dbref));
  #define Can_Locate(p,x) \
      (controls(p,x) || nearby(p,x) || See_All(p) \
    || (PLAYER_LOCATE && (IsPlayer(x) && !Unfind(x) \
--- 64,70 ----
                               God(p))
  
  /* Can p locate x? */
! int unfindable(dbref);
  #define Can_Locate(p,x) \
      (controls(p,x) || nearby(p,x) || See_All(p) \
    || (PLAYER_LOCATE && (IsPlayer(x) && !Unfind(x) \
*** 1_7_5.214/hdrs/memcheck.h Mon, 20 Nov 2000 09:55:52 -0600 dunemush (pennmush/d/3_memcheck.h 1.3 660)
--- 1_7_5.224(w)/hdrs/memcheck.h Sat, 20 Jul 2002 12:07:50 -0500 dunemush (pennmush/d/3_memcheck.h 1.4 660)
***************
*** 1,9 ****
  #ifndef __MEMCHECK_H
  #define __MEMCHECK_H
  
! extern void add_check _((const char *ref));
! extern void del_check _((const char *ref));
! extern void list_mem_check _((dbref player));
! extern void log_mem_check _((void));
  
  #endif				/* __MEMCHECK_H */
--- 1,9 ----
  #ifndef __MEMCHECK_H
  #define __MEMCHECK_H
  
! extern void add_check(const char *ref);
! extern void del_check(const char *ref);
! extern void list_mem_check(dbref player);
! extern void log_mem_check(void);
  
  #endif				/* __MEMCHECK_H */
*** 1_7_5.214/hdrs/match.h Wed, 06 Sep 2000 20:09:35 -0500 dunemush (pennmush/d/4_match.h 1.6 660)
--- 1_7_5.224(w)/hdrs/match.h Sat, 20 Jul 2002 12:07:50 -0500 dunemush (pennmush/d/4_match.h 1.7 660)
***************
*** 47,58 ****
   * match_controlled - returns match if player controls, or NOTHING
   */
  extern dbref match_result
! _((const dbref who, const char *name, const int type, const long int flags));
  extern dbref noisy_match_result
! _((const dbref who, const char *name, const int type, const long int flags));
  extern dbref last_match_result
! _((const dbref who, const char *name, const int type, const long int flags));
! extern dbref match_controlled _((dbref player, const char *name));
  
  #define match_thing(player,name) \
    noisy_match_result((player), (name), NOTYPE, MAT_EVERYTHING)
--- 47,58 ----
   * match_controlled - returns match if player controls, or NOTHING
   */
  extern dbref match_result
!   (const dbref who, const char *name, const int type, const long int flags);
  extern dbref noisy_match_result
!   (const dbref who, const char *name, const int type, const long int flags);
  extern dbref last_match_result
!   (const dbref who, const char *name, const int type, const long int flags);
! extern dbref match_controlled(dbref player, const char *name);
  
  #define match_thing(player,name) \
    noisy_match_result((player), (name), NOTYPE, MAT_EVERYTHING)
*** 1_7_5.214/hdrs/malias.h Mon, 29 Apr 2002 11:55:17 -0500 dunemush (pennmush/d/5_malias.h 1.15 660)
--- 1_7_5.224(w)/hdrs/malias.h Sat, 20 Jul 2002 12:07:50 -0500 dunemush (pennmush/d/5_malias.h 1.16 660)
***************
*** 23,53 ****
  
  
  /* From malias.c */
! struct mail_alias *get_malias _((dbref player, char *alias));
! int ismember _((struct mail_alias * m, dbref player));
! void do_malias_privs _((dbref player, char *alias, char *privs, int typs));
! void do_malias_mprivs _((dbref player, char *alias, char *privs));
! extern void do_malias _((dbref player, char *arg1, char *arg2));
! extern void do_malias_create _((dbref player, char *alias, char *tolist));
! extern void do_malias_members _((dbref player, char *alias));
! extern void do_malias_list _((dbref player));
! extern void do_malias_desc _((dbref player, char *alias, char *desc));
! extern void do_malias_chown _((dbref player, char *alias, char *owner));
! extern void do_malias_rename _((dbref player, char *alias, char *newname));
! extern void do_malias_destroy _((dbref player, char *alias));
! extern void do_malias_all _((dbref player));
! extern void do_malias_stats _((dbref player));
! extern void do_malias_nuke _((dbref player));
! extern void do_malias_add _((dbref player, char *alias, char *tolist));
! extern void do_malias_remove _((dbref player, char *alias, char *tolist));
! extern void load_malias _((FILE