This is patch02 to PennMUSH 1.8.0. After applying this patch, you will have version 1.8.0p2 To apply this patch, save it to a file in your top-level MUSH directory, and do the following: patch -p1 < 1.8.0-patch02 make clean 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. On the off chance they appear not to be, simply rm them and re-run make. Then @shutdown and restart your MUSH. - Alan/Javelin In this patch: Fixes: * @break/@assert could double-evaluate the right side. Patch by Walker@M*U*S*H. * ""hi didn't produce the right output. Patch by Walker@M*U*S*H. * Better output for @warn me=none and invalid warning lists. Suggested by T'orA@M*U*S*H * Help fix by Meyer@M*U*S*H. * Bug in reading dbs when no chatdb present. Discovered by Benigo@M*U*S*H. Prereq: 1.8.0p1 *** 1_8_0.18/Patchlevel Sun, 16 Jan 2005 14:49:02 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.43.1.1 600) --- 1_8_0.24(w)/Patchlevel Wed, 02 Feb 2005 08:57:13 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.43.1.2 600) *************** *** 1,2 **** Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.8.0p1 --- 1,2 ---- Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.8.0p2 *** 1_8_0.18/game/txt/hlp/penncmd.hlp Mon, 03 Jan 2005 18:47:32 -0600 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.10.1.1.1.1.1.1.1.1.1.1.1.47 600) --- 1_8_0.24(w)/game/txt/hlp/penncmd.hlp Wed, 02 Feb 2005 14:07:21 -0600 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.10.1.1.1.1.1.1.1.1.1.1.1.47.1.1 600) *************** *** 861,868 **** Supplying the /tf switch makes @decompile act exactly as if you typed: @decompile/prefix [/]=FugueEdit >%b ! You can use a string other than "FugueEdit > " by setting your ! TFPREFIX attribute. This is probably a good idea. The /tf switch is handy for grabbing code and placing it right into your input window. To do this: --- 861,871 ---- Supplying the /tf switch makes @decompile act exactly as if you typed: @decompile/prefix [/]=FugueEdit >%b ! You can use a string other than "FugueEdit > " by setting your TFPREFIX ! attribute. You are strongly urged to do so. Using @decompile/tf with ! the default prefix presents the opportunity for a malicious player ! to load your TinyFugue command line with a harmful command for you to ! execute inadvertantly. The /tf switch is handy for grabbing code and placing it right into your input window. To do this: *** 1_8_0.18/src/warnings.c Thu, 02 Sep 2004 11:04:56 -0500 dunemush (pennmush/b/25_warnings.c 1.21.1.1.1.9 660) --- 1_8_0.24(w)/src/warnings.c Thu, 03 Feb 2005 13:29:51 -0600 dunemush (pennmush/b/25_warnings.c 1.21.1.1.1.12 660) *************** *** 280,285 **** --- 280,286 ---- do_warnings(dbref player, const char *name, const char *warns) { dbref thing; + warn_type w; switch (thing = match_result(player, name, NOTYPE, MAT_EVERYTHING)) { case NOTHING: *************** *** 300,308 **** break; } ! Warnings(thing) = parse_warnings(player, warns); ! notify_format(player, T("@warnings set to %s"), ! unparse_warnings(Warnings(thing))); } /** Given a list of warnings, return the bitmask that represents it. --- 301,317 ---- break; } ! w = parse_warnings(player, warns); ! if (w >= 0) { ! Warnings(thing) = w; ! if (Warnings(thing)) ! notify_format(player, T("@warnings set to: %s"), ! unparse_warnings(Warnings(thing))); ! else ! notify(player, T("@warnings cleared.")); ! } else { ! notify(player, T("@warnings not changed.")); ! } } /** Given a list of warnings, return the bitmask that represents it. *************** *** 351,356 **** --- 360,368 ---- } w = split_token(&s, ' '); } + /* If we haven't matched anything, don't change the player's stuff */ + if (!found) + return -1; return flags & ~negate_flags; } else return 0; *** 1_8_0.18/src/game.c Mon, 08 Nov 2004 10:47:50 -0600 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.5.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.12.1.3.1.7.1.2.2.1.1.32.1.2 660) --- 1_8_0.24(w)/src/game.c Thu, 03 Feb 2005 13:29:50 -0600 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.5.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.12.1.3.1.7.1.2.2.1.1.32.1.2.2.1 660) *************** *** 844,849 **** --- 844,850 ---- dbline = 0; if (db_read(f) < 0) { do_rawlog(LT_ERR, "ERROR LOADING %s", infile); + db_close(f); return -1; } do_rawlog(LT_ERR, "LOADING: %s (done)", infile); *************** *** 917,929 **** do_rawlog(LT_ERR, "LOADING: %s (done)", options.chatdb); } else { do_rawlog(LT_ERR, "ERROR LOADING %s", options.chatdb); - db_close(f); return -1; } } } - db_close(f); } else { do_rawlog(LT_ERR, "ERROR READING DATABASE"); return -1; --- 918,929 ---- do_rawlog(LT_ERR, "LOADING: %s (done)", options.chatdb); } else { do_rawlog(LT_ERR, "ERROR LOADING %s", options.chatdb); return -1; } + db_close(f); } } } else { do_rawlog(LT_ERR, "ERROR READING DATABASE"); return -1; *** 1_8_0.18/src/command.c Wed, 01 Dec 2004 20:21:44 -0600 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.10.1.1.3.74.1.4 660) --- 1_8_0.24(w)/src/command.c Thu, 03 Feb 2005 13:29:49 -0600 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.10.1.1.3.74.1.5 660) *************** *** 64,77 **** {"@@", NULL, cmd_null, CMD_T_ANY | CMD_T_NOPARSE, 0, 0}, {"@ALLHALT", NULL, cmd_allhalt, CMD_T_ANY, "WIZARD", "HALT"}, {"@ALLQUOTA", "QUIET", cmd_allquota, CMD_T_ANY, "WIZARD", "QUOTA"}, ! {"@ASSERT", NULL, cmd_assert, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, {"@ATRLOCK", NULL, cmd_atrlock, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, {"@ATRCHOWN", NULL, cmd_atrchown, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, {"@ATTRIBUTE", "ACCESS DELETE RENAME RETROACTIVE", cmd_attribute, CMD_T_ANY | CMD_T_EQSPLIT, "WIZARD", 0}, {"@BOOT", "PORT ME SILENT", cmd_boot, CMD_T_ANY, 0, 0}, ! {"@BREAK", NULL, cmd_break, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, {"@CEMIT", "NOEVAL NOISY SPOOF", cmd_cemit, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, 0, 0}, {"@CHANNEL", --- 64,79 ---- {"@@", NULL, cmd_null, CMD_T_ANY | CMD_T_NOPARSE, 0, 0}, {"@ALLHALT", NULL, cmd_allhalt, CMD_T_ANY, "WIZARD", "HALT"}, {"@ALLQUOTA", "QUIET", cmd_allquota, CMD_T_ANY, "WIZARD", "QUOTA"}, ! {"@ASSERT", NULL, cmd_assert, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_NOPARSE, 0, ! 0}, {"@ATRLOCK", NULL, cmd_atrlock, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, {"@ATRCHOWN", NULL, cmd_atrchown, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, {"@ATTRIBUTE", "ACCESS DELETE RENAME RETROACTIVE", cmd_attribute, CMD_T_ANY | CMD_T_EQSPLIT, "WIZARD", 0}, {"@BOOT", "PORT ME SILENT", cmd_boot, CMD_T_ANY, 0, 0}, ! {"@BREAK", NULL, cmd_break, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_NOPARSE, 0, ! 0}, {"@CEMIT", "NOEVAL NOISY SPOOF", cmd_cemit, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, 0, 0}, {"@CHANNEL", *************** *** 896,901 **** --- 898,904 ---- return NULL; case SAY_TOKEN: replacer = "SAY"; + p--; /* Since 'say' strips out the '"' */ break; case POSE_TOKEN: replacer = "POSE"; *** 1_8_0.18/hdrs/version.h Sun, 16 Jan 2005 14:49:02 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.45.1.2 660) --- 1_8_0.24(w)/hdrs/version.h Thu, 03 Feb 2005 13:29:52 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.45.1.3 660) *************** *** 1,4 **** #define VERSION "1.8.0" ! #define PATCHLEVEL "1" ! #define PATCHDATE "[01/16/2005]" ! #define NUMVERSION 001008000001 --- 1,4 ---- #define VERSION "1.8.0" ! #define PATCHLEVEL "2" ! #define PATCHDATE "[02/02/2005]" ! #define NUMVERSION 001008000002 *** 1_8_0.18/game/txt/hlp/pennvOLD.hlp Sat, 01 Jan 2005 10:37:53 -0600 dunemush (pennmush/g/30_pennvOLD.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.9.1.2.1.5 660) --- 1_8_0.24(w)/game/txt/hlp/pennvOLD.hlp Thu, 03 Feb 2005 13:29:58 -0600 dunemush (pennmush/g/30_pennvOLD.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.9.1.2.1.5.1.1 660) *************** *** 4417,4423 **** For information on a specific patchlevel of one of the versions listed, type 'help p'. For example, 'help 1.7.2p3' ! 1.8.0: 0, 1 1.7.7: 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, 36, 37, 38, 39, 40 --- 4417,4423 ---- For information on a specific patchlevel of one of the versions listed, type 'help p'. For example, 'help 1.7.2p3' ! 1.8.0: 0, 1, 2 1.7.7: 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, 36, 37, 38, 39, 40 *** 1_8_0.18/game/txt/hlp/pennv180.hlp Sun, 16 Jan 2005 15:03:10 -0600 dunemush (pennmush/h/28_pennv180.h 1.1 660) --- 1_8_0.24(w)/game/txt/hlp/pennv180.hlp Thu, 03 Feb 2005 13:29:57 -0600 dunemush (pennmush/h/28_pennv180.h 1.1.1.2.1.1.1.2 660) *************** *** 1,4 **** ! & 1.8.0p1 & changes This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions --- 1,4 ---- ! & 1.8.0p2 & changes This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions *************** *** 11,16 **** --- 11,30 ---- A list of the patchlevels associated with each release can be read in 'help patchlevels'. + Version 1.8.0 patchlevel 2 February 2, 2005 + + Fixes: + * @break/@assert could double-evaluate the right side. + Patch by Walker@M*U*S*H. + * ""hi didn't produce the right output. Patch by Walker@M*U*S*H. + * Better output for @warn me=none and invalid warning lists. + Suggested by T'orA@M*U*S*H + * Help fix by Meyer@M*U*S*H. + * Bug in reading dbs when no chatdb present. Discovered by + Benigo@M*U*S*H. + + + & 1.8.0p1 Version 1.8.0 patchlevel 1 January 16, 2005 Fixes: *** 1_8_0.18/CHANGES.180 Sun, 16 Jan 2005 14:49:02 -0600 dunemush (pennmush/h/21_CHANGES.18 1.11 600) --- 1_8_0.24(w)/CHANGES.180 Thu, 03 Feb 2005 11:50:01 -0600 dunemush (pennmush/h/21_CHANGES.18 1.16 600) *************** *** 12,17 **** --- 12,30 ---- ========================================================================== + Version 1.8.0 patchlevel 2 February 2, 2005 + + Fixes: + * @break/@assert could double-evaluate the right side. + Patch by Walker@M*U*S*H. + * ""hi didn't produce the right output. Patch by Walker@M*U*S*H. + * Better output for @warn me=none and invalid warning lists. + Suggested by T'orA@M*U*S*H + * Help fix by Meyer@M*U*S*H. + * Bug in reading dbs when no chatdb present. Discovered by + Benigo@M*U*S*H. + + Version 1.8.0 patchlevel 1 January 16, 2005 Fixes: