[PENNMUSH-ANNOUNCE] 1.7.4-patch05

dunemush@pennmush.org dunemush at pennmush.org
Fri, 25 May 2001 11:53:40 -0500


This is patch05 to PennMUSH 1.7.4. After applying this patch, you will
have version 1.7.4p5

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

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

Unix and cygwin users can safely ignore any failed hunks in switchinc.c
or switches.h

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

In this patch:

Fixes:
  * Fix to uninitialized variable that could cause ansi to bleed
    on some systems. Patch by Luke@M*U*S*H
  * Prototypes for ansi_align and ansi_save added to externs.h. [DW]
  * FreeBSD hints file updated to get rid of a compiler warning. [SW]
  * Setting hate_dest to no will not disable @recycle [SW]
  * switchinc.c updated. [DW]


Prereq: 1.7.4p4
*** 1_7_4.94/Patchlevel Tue, 24 Apr 2001 12:32:31 -0500 dunemush (pennmush/5_Patchlevel 1.22 600)
--- 1_7_4.94(w)/Patchlevel Fri, 25 May 2001 11:51:58 -0500 dunemush (pennmush/5_Patchlevel 1.22 600)
***************
*** 1,2 ****
  Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.4p4
--- 1,2 ----
  Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.4p5
*** 1_7_4.94/CHANGES Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/8_CHANGES 1.212 600)
--- 1_7_4.94(w)/CHANGES Fri, 25 May 2001 11:39:22 -0500 dunemush (pennmush/8_CHANGES 1.212 600)
***************
*** 17,22 ****
--- 17,33 ----
  
  ==========================================================================
  
+ Version 1.7.4 patchlevel 5		       May 25, 2001
+ 
+ Fixes:
+   * Fix to uninitialized variable that could cause ansi to bleed
+     on some systems. Patch by Luke@M*U*S*H
+   * Prototypes for ansi_align and ansi_save added to externs.h. [DW]
+   * FreeBSD hints file updated to get rid of a compiler warning. [SW]
+   * Setting hate_dest to no will not disable @recycle [SW]
+   * switchinc.c updated. [DW]
+ 
+ 
  Version 1.7.4 patchlevel 4		       May 13, 2001
  
  Minor changes:
*** 1_7_4.94/game/txt/hlp/pennvers.hlp Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/12_pennvers.h 1.162 600)
--- 1_7_4.94(w)/game/txt/hlp/pennvers.hlp Fri, 25 May 2001 11:50:58 -0500 dunemush (pennmush/12_pennvers.h 1.162 600)
***************
*** 1,5 ****
  & changes
! & 1.7.4p4
  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.4p5
  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,28 ----
  A list of the patchlevels associated with each release can
  be read in 'help patchlevels'.
  
+ Version 1.7.4 patchlevel 5		       May 25, 2001
+ 
+ Fixes:
+   * Fix to uninitialized variable that could cause ansi to bleed
+     on some systems. Patch by Luke@M*U*S*H
+   * Prototypes for ansi_align and ansi_save added to externs.h. [DW]
+   * FreeBSD hints file updated to get rid of a compiler warning. [SW]
+   * Setting hate_dest to no will not disable @recycle [SW]
+   * switchinc.c updated. [DW]
+ 
+ 
+ & 1.7.4p4
  Version 1.7.4 patchlevel 4		       May 13, 2001
  
  Minor changes:
***************
*** 4649,4655 ****
  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.4: 0, 1, 2, 3, 4
  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
--- 4661,4667 ----
  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.4: 0, 1, 2, 3, 4, 5
  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_4.94/hints/freebsd.sh Wed, 06 Sep 2000 20:09:35 -0500 dunemush (pennmush/50_freebsd.sh 1.2 600)
--- 1_7_4.94(w)/hints/freebsd.sh Fri, 25 May 2001 11:34:32 -0500 dunemush (pennmush/50_freebsd.sh 1.2 600)
***************
*** 1,3 ****
--- 1,5 ----
  usenm=false
  inclwanted='/usr/local/include'
  i_malloc='undef'
+ i_values='undef'
+ 
*** 1_7_4.94/src/switchinc.c Tue, 15 May 2001 15:59:50 -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 660)
--- 1_7_4.94(w)/src/switchinc.c Fri, 25 May 2001 11:46:23 -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 660)
***************
*** 1,388 ****
  {
! "ACCESS", SWITCH_ACCESS}
! 
! , {
! "ADD", SWITCH_ADD}
! 
! , {
! "ALL", SWITCH_ALL}
! 
! , {
! "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}
! 
! , {
! "DELIM", SWITCH_DELIM}
! 
! , {
! "DESC", SWITCH_DESC}
! 
! , {
! "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}
! 
! , {
! "FOLDER", SWITCH_FOLDER}
! 
! , {
! "FOO", SWITCH_FOO}
! 
! , {
! "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}
! 
! , {
! "WIPE", SWITCH_WIPE}
! 
! , {
! "WIZ", SWITCH_WIZ}
! 
! , {
! "WIZARD", SWITCH_WIZARD}
! 
! , {
! "YES", SWITCH_YES}
! 
! , {
! "ZONE", SWITCH_ZONE}
! 
  ,
--- 1,512 ----
  {
!   "ACCESS", SWITCH_ACCESS
! }
! ,
! {
!   "ADD", SWITCH_ADD
! }
! ,
! {
!   "ALL", SWITCH_ALL
! }
! ,
! {
!   "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
! }
! ,
! {
!   "DELIM", SWITCH_DELIM
! }
! ,
! {
!   "DESC", SWITCH_DESC
! }
! ,
! {
!   "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
! }
! ,
! {
!   "WIPE", SWITCH_WIPE
! }
! ,
! {
!   "WIZ", SWITCH_WIZ
! }
! ,
! {
!   "WIZARD", SWITCH_WIZARD
! }
! ,
! {
!   "YES", SWITCH_YES
! }
! ,
! {
!   "ZONE", SWITCH_ZONE
! }
  ,
*** 1_7_4.94/src/strutil.c Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.1 660)
--- 1_7_4.94(w)/src/strutil.c Fri, 25 May 2001 11:38:02 -0500 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.1 660)
***************
*** 41,48 ****
  
  char *
  mush_strdup(s, check)
!      const char *s;
!      const char *check;
  {
    char *x;
  
--- 41,48 ----
  
  char *
  mush_strdup(s, check)
!     const char *s;
!     const char *check;
  {
    char *x;
  
*** 1_7_4.94/src/malias.c Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/c/3_malias.c 1.30 660)
--- 1_7_4.94(w)/src/malias.c Fri, 25 May 2001 11:38:01 -0500 dunemush (pennmush/c/3_malias.c 1.30 660)
***************
*** 329,335 ****
      return;
    } else if (Wizard(player) || (player == m->owner)) {
      if (m->desc)
!       free(m->desc); /* No need to update MEM_CHECK records here */
      m->desc = u_strdup(compress(desc));
      notify(player, T("MAIL: Description changed."));
    } else
--- 329,335 ----
      return;
    } else if (Wizard(player) || (player == m->owner)) {
      if (m->desc)
!       free(m->desc);		/* No need to update MEM_CHECK records here */
      m->desc = u_strdup(compress(desc));
      notify(player, T("MAIL: Description changed."));
    } else
***************
*** 393,400 ****
      notify(player, T("MAIL: Permission denied."));
      return;
    }
!   
!   free(m->name); /* No need to update MEM_CHECK records here. */
    m->name = strdup(newname + 1);
  
    notify(player, T("MAIL: Mail Alias renamed."));
--- 393,400 ----
      notify(player, T("MAIL: Permission denied."));
      return;
    }
! 
!   free(m->name);		/* No need to update MEM_CHECK records here. */
    m->name = strdup(newname + 1);
  
    notify(player, T("MAIL: Mail Alias renamed."));
***************
*** 584,592 ****
      for (i = 0; i < ma_top; i++) {
        m = &malias[i];
        if (m->name)
!         mush_free(m->name, "malias_name");
        if (m->desc)
!         mush_free(m->desc, "malias_desc");
        if (m->members)
  	mush_free((Malloc_t) m->members, "malias_members");
      }
--- 584,592 ----
      for (i = 0; i < ma_top; i++) {
        m = &malias[i];
        if (m->name)
! 	mush_free(m->name, "malias_name");
        if (m->desc)
! 	mush_free(m->desc, "malias_desc");
        if (m->members)
  	mush_free((Malloc_t) m->members, "malias_members");
      }
***************
*** 785,791 ****
      notify(player, T("MAIL: No valid recipients for alias-list!"));
      return;
    }
!   members = (dbref *) mush_malloc(sizeof(dbref) * (i + m->size), "malias_members");
  
    memcpy(members, m->members, sizeof(dbref) * m->size);
    memcpy(&members[m->size], alist, sizeof(dbref) * i);
--- 785,792 ----
      notify(player, T("MAIL: No valid recipients for alias-list!"));
      return;
    }
!   members =
!     (dbref *) mush_malloc(sizeof(dbref) * (i + m->size), "malias_members");
  
    memcpy(members, m->members, sizeof(dbref) * m->size);
    memcpy(&members[m->size], alist, sizeof(dbref) * i);
***************
*** 1065,1071 ****
      m->size = getref(fp);
  
      if (m->size > 0) {
!       m->members = (dbref *) mush_malloc(m->size * sizeof(dbref), "malias_members");
        for (j = 0; j < m->size; j++) {
  	m->members[j] = getref(fp);
        }
--- 1066,1073 ----
      m->size = getref(fp);
  
      if (m->size > 0) {
!       m->members =
! 	(dbref *) mush_malloc(m->size * sizeof(dbref), "malias_members");
        for (j = 0; j < m->size; j++) {
  	m->members[j] = getref(fp);
        }
*** 1_7_4.94/src/funstr.c Fri, 11 May 2001 15:40:56 -0500 dunemush (pennmush/c/13_funstr.c 1.28.1.1.1.2.1.4 660)
--- 1_7_4.94(w)/src/funstr.c Fri, 25 May 2001 11:49:12 -0500 dunemush (pennmush/c/13_funstr.c 1.28.1.1.1.2.1.4 660)
***************
*** 1011,1017 ****
      char *buff;
      char **bp;
  {
!   ansi_data old_ad;
    int f = 0;
  
    if ((old_ad.fore && !ad->fore)
--- 1011,1017 ----
      char *buff;
      char **bp;
  {
!   static ansi_data old_ad = { 0, 0, 0 };
    int f = 0;
  
    if ((old_ad.fore && !ad->fore)
***************
*** 1023,1028 ****
--- 1023,1035 ----
      old_ad.back = 0;
    }
  
+   if ((old_ad.fore == ad->fore)
+       && (old_ad.back == ad->back)
+       && (old_ad.flags == ad->flags))
+     /* If nothing has changed, don't bother doing anything.
+      * This stops the entirely pointless \e[m being generated. */
+     return;
+ 
    safe_str(ANSI_BEGIN, buff, bp);
  
    if (EDGE_UP(old_ad.flags, ad->flags, COL_FLASH)) {
***************
*** 1063,1069 ****
--- 1070,1079 ----
  
    safe_str(ANSI_END, buff, bp);
  
+   old_ad = *ad;
+ 
  }
+ 
  
  /* ARGSUSED */
  FUNCTION(fun_ansi)
*** 1_7_4.94/src/function.c Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.1 660)
--- 1_7_4.94(w)/src/function.c Fri, 25 May 2001 11:38:01 -0500 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.1 660)
***************
*** 869,875 ****
  
      /* now add it to the user function table */
      userfn_tab[userfn_count].thing = thing;
!     userfn_tab[userfn_count].name = mush_strdup(upcasestr(argv[2]), "userfn_tab.name");
      userfn_tab[userfn_count].fn = mush_strdup(upcasestr(name), "usrfn_tab.fn");
      userfn_count++;
  
--- 869,876 ----
  
      /* now add it to the user function table */
      userfn_tab[userfn_count].thing = thing;
!     userfn_tab[userfn_count].name =
!       mush_strdup(upcasestr(argv[2]), "userfn_tab.name");
      userfn_tab[userfn_count].fn = mush_strdup(upcasestr(name), "usrfn_tab.fn");
      userfn_count++;
  
***************
*** 900,906 ****
      if (userfn_tab[fp->where.offset].name)
        mush_free((Malloc_t) userfn_tab[fp->where.offset].name,
  		"userfn_tab.name");
!     userfn_tab[fp->where.offset].name = mush_strdup(upcasestr(argv[2]), "userfn_tab.name");
      notify(player, T("Function updated."));
    }
  }
--- 901,908 ----
      if (userfn_tab[fp->where.offset].name)
        mush_free((Malloc_t) userfn_tab[fp->where.offset].name,
  		"userfn_tab.name");
!     userfn_tab[fp->where.offset].name =
!       mush_strdup(upcasestr(argv[2]), "userfn_tab.name");
      notify(player, T("Function updated."));
    }
  }
*** 1_7_4.94/src/cque.c Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/c/28_cque.c 1.36.1.1 660)
--- 1_7_4.94(w)/src/cque.c Fri, 25 May 2001 11:37:59 -0500 dunemush (pennmush/c/28_cque.c 1.36.1.1 660)
***************
*** 361,367 ****
    } else {
  
      /* Put it on the semaphore queue, sorted by time */
!     tmp->semattr = mush_strdup(semattr ? semattr : "SEMAPHORE", "bqueue_semattr");
      if (!tmp->left) {		/* No timeout, just shove it on the end */
        tmp->next = NULL;
        if (qsemlast != NULL)
--- 361,368 ----
    } else {
  
      /* Put it on the semaphore queue, sorted by time */
!     tmp->semattr =
!       mush_strdup(semattr ? semattr : "SEMAPHORE", "bqueue_semattr");
      if (!tmp->left) {		/* No timeout, just shove it on the end */
        tmp->next = NULL;
        if (qsemlast != NULL)
*** 1_7_4.94/src/command.c Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/c/36_command.c 1.56.1.1.1.1.1.1.1.2.1.1 660)
--- 1_7_4.94(w)/src/command.c Fri, 25 May 2001 11:37:59 -0500 dunemush (pennmush/c/36_command.c 1.56.1.1.1.1.1.1.1.2.1.1 660)
***************
*** 541,548 ****
    command_mkalias();
    if (HATE_DEST)
      restrict_command("@DESTROY", "noplayer");
-   else
-     restrict_command("@RECYCLE", "nobody");
    if (!PLAYER_LOCATE)
      restrict_command("@WHEREIS", "nobody");
  }
--- 541,546 ----
*** 1_7_4.94/hdrs/version.h Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.1 660)
--- 1_7_4.94(w)/hdrs/version.h Fri, 25 May 2001 11:52:06 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.1 660)
***************
*** 1,2 ****
! #define VERSION "PennMUSH version 1.7.4 patchlevel 4 [05/13/2001]"
! #define SHORTVN "PennMUSH 1.7.4p4"
--- 1,2 ----
! #define VERSION "PennMUSH version 1.7.4 patchlevel 5 [05/25/2001]"
! #define SHORTVN "PennMUSH 1.7.4p5"
*** 1_7_4.94/hdrs/externs.h Tue, 15 May 2001 15:59:50 -0500 dunemush (pennmush/d/16_externs.h 1.1.1.53.1.2.1.1 660)
--- 1_7_4.94(w)/hdrs/externs.h Fri, 25 May 2001 11:38:03 -0500 dunemush (pennmush/d/16_externs.h 1.1.1.53.1.2.1.1 660)
***************
*** 289,294 ****
--- 289,296 ----
  #endif
  #endif
  extern char *remove_markup _((const char *orig));
+ extern int ansi_save _((const char *string, int length, char *buff, char **bp));
+ extern int ansi_align _((const char *string, int length));
  
  /* Append a character to the end of a BUFFER_LEN long string.
   * Two versions here - one an inline macro, the other a function.
*** 1_7_4.94/hdrs/switches.h Tue, 09 Jan 2001 17:56:37 -0600 dunemush (pennmush/d/21_switches.h 1.2.1.6 660)
--- 1_7_4.94(w)/hdrs/switches.h Fri, 25 May 2001 11:46:23 -0500 dunemush (pennmush/d/21_switches.h 1.2.1.6 660)
***************
*** 36,129 ****
  #define SWITCH_FILE 36
  #define SWITCH_FIRST 37
  #define SWITCH_FLAGS 38
! #define SWITCH_FOLDER 39
! #define SWITCH_FOO 40
! #define SWITCH_FORWARD 41
! #define SWITCH_FSTATS 42
! #define SWITCH_FULL 43
! #define SWITCH_FUNCTIONS 44
! #define SWITCH_FWD 45
! #define SWITCH_GAG 46
! #define SWITCH_GLOBALS 47
! #define SWITCH_HEADER 48
! #define SWITCH_HERE 49
! #define SWITCH_HIDE 50
! #define SWITCH_ILIST 51
! #define SWITCH_INVENTORY 52
! #define SWITCH_IPRINT 53
! #define SWITCH_JOIN 54
! #define SWITCH_LIST 55
! #define SWITCH_LOWERCASE 56
! #define SWITCH_ME 57
! #define SWITCH_MEMBERS 58
! #define SWITCH_MOD 59
! #define SWITCH_MORTAL 60
! #define SWITCH_MOTD 61
! #define SWITCH_MUTE 62
! #define SWITCH_NAME 63
! #define SWITCH_NO 64
! #define SWITCH_NOEVAL 65
! #define SWITCH_NOFLAGCOPY 66
! #define SWITCH_NOISY 67
! #define SWITCH_NOSIG 68
! #define SWITCH_NOSPACE 69
! #define SWITCH_NOTIFY 70
! #define SWITCH_NUKE 71
! #define SWITCH_OFF 72
! #define SWITCH_ON 73
! #define SWITCH_OUTSIDE 74
! #define SWITCH_OVERRIDE 75
! #define SWITCH_PANIC 76
! #define SWITCH_PARANOID 77
! #define SWITCH_PLAYERS 78
! #define SWITCH_PORT 79
! #define SWITCH_POSE 80
! #define SWITCH_PRESERVE 81
! #define SWITCH_PRINT 82
! #define SWITCH_PRIVS 83
! #define SWITCH_PURGE 84
! #define SWITCH_QUICK 85
! #define SWITCH_QUIET 86
! #define SWITCH_READ 87
! #define SWITCH_REBOOT 88
! #define SWITCH_REGISTER 89
! #define SWITCH_REMOVE 90
! #define SWITCH_RENAME 91
! #define SWITCH_RESTORE 92
! #define SWITCH_RESTRICT 93
! #define SWITCH_RETROACTIVE 94
! #define SWITCH_ROOM 95
! #define SWITCH_ROOMS 96
! #define SWITCH_ROYALTY 97
! #define SWITCH_SEE 98
! #define SWITCH_SEEFLAG 99
! #define SWITCH_SELF 100
! #define SWITCH_SEND 101
! #define SWITCH_SET 102
! #define SWITCH_SILENT 103
! #define SWITCH_SKIPDEFAULTS 104
! #define SWITCH_SPEAK 105
! #define SWITCH_STATS 106
! #define SWITCH_SUMMARY 107
! #define SWITCH_TABLES 108
! #define SWITCH_TAG 109
! #define SWITCH_TELEPORT 110
! #define SWITCH_TF 111
! #define SWITCH_THINGS 112
! #define SWITCH_TITLE 113
! #define SWITCH_TRACE 114
! #define SWITCH_UNCLEAR 115
! #define SWITCH_UNFOLDER 116
! #define SWITCH_UNGAG 117
! #define SWITCH_UNHIDE 118
! #define SWITCH_UNMUTE 119
! #define SWITCH_UNTAG 120
! #define SWITCH_UNTIL 121
! #define SWITCH_URGENT 122
! #define SWITCH_USEFLAG 123
! #define SWITCH_WHAT 124
! #define SWITCH_WIPE 125
! #define SWITCH_WIZ 126
! #define SWITCH_WIZARD 127
! #define SWITCH_YES 128
! #define SWITCH_ZONE 129
--- 36,128 ----
  #define SWITCH_FILE 36
  #define SWITCH_FIRST 37
  #define SWITCH_FLAGS 38
! #define SWITCH_FOLDERS 39
! #define SWITCH_FORWARD 40
! #define SWITCH_FSTATS 41
! #define SWITCH_FULL 42
! #define SWITCH_FUNCTIONS 43
! #define SWITCH_FWD 44
! #define SWITCH_GAG 45
! #define SWITCH_GLOBALS 46
! #define SWITCH_HEADER 47
! #define SWITCH_HERE 48
! #define SWITCH_HIDE 49
! #define SWITCH_ILIST 50
! #define SWITCH_INVENTORY 51
! #define SWITCH_IPRINT 52
! #define SWITCH_JOIN 53
! #define SWITCH_LIST 54
! #define SWITCH_LOWERCASE 55
! #define SWITCH_ME 56
! #define SWITCH_MEMBERS 57
! #define SWITCH_MOD 58
! #define SWITCH_MORTAL 59
! #define SWITCH_MOTD 60
! #define SWITCH_MUTE 61
! #define SWITCH_NAME 62
! #define SWITCH_NO 63
! #define SWITCH_NOEVAL 64
! #define SWITCH_NOFLAGCOPY 65
! #define SWITCH_NOISY 66
! #define SWITCH_NOSIG 67
! #define SWITCH_NOSPACE 68
! #define SWITCH_NOTIFY 69
! #define SWITCH_NUKE 70
! #define SWITCH_OFF 71
! #define SWITCH_ON 72
! #define SWITCH_OUTSIDE 73
! #define SWITCH_OVERRIDE 74
! #define SWITCH_PANIC 75
! #define SWITCH_PARANOID 76
! #define SWITCH_PLAYERS 77
! #define SWITCH_PORT 78
! #define SWITCH_POSE 79
! #define SWITCH_PRESERVE 80
! #define SWITCH_PRINT 81
! #define SWITCH_PRIVS 82
! #define SWITCH_PURGE 83
! #define SWITCH_QUICK 84
! #define SWITCH_QUIET 85
! #define SWITCH_READ 86
! #define SWITCH_REBOOT 87
! #define SWITCH_REGISTER 88
! #define SWITCH_REMOVE 89
! #define SWITCH_RENAME 90
! #define SWITCH_RESTORE 91
! #define SWITCH_RESTRICT 92
! #define SWITCH_RETROACTIVE 93
! #define SWITCH_ROOM 94
! #define SWITCH_ROOMS 95
! #define SWITCH_ROYALTY 96
! #define SWITCH_SEE 97
! #define SWITCH_SEEFLAG 98
! #define SWITCH_SELF 99
! #define SWITCH_SEND 100
! #define SWITCH_SET 101
! #define SWITCH_SILENT 102
! #define SWITCH_SKIPDEFAULTS 103
! #define SWITCH_SPEAK 104
! #define SWITCH_STATS 105
! #define SWITCH_SUMMARY 106
! #define SWITCH_TABLES 107
! #define SWITCH_TAG 108
! #define SWITCH_TELEPORT 109
! #define SWITCH_TF 110
! #define SWITCH_THINGS 111
! #define SWITCH_TITLE 112
! #define SWITCH_TRACE 113
! #define SWITCH_UNCLEAR 114
! #define SWITCH_UNFOLDER 115
! #define SWITCH_UNGAG 116
! #define SWITCH_UNHIDE 117
! #define SWITCH_UNMUTE 118
! #define SWITCH_UNTAG 119
! #define SWITCH_UNTIL 120
! #define SWITCH_URGENT 121
! #define SWITCH_USEFLAG 122
! #define SWITCH_WHAT 123
! #define SWITCH_WIPE 124
! #define SWITCH_WIZ 125
! #define SWITCH_WIZARD 126
! #define SWITCH_YES 127
! #define SWITCH_ZONE 128