This is patch01 to PennMUSH 1.7.2. After applying this patch, you will have version 1.7.2p1. To apply this patch, save it to a file in your top-level MUSH directory, and do the following: patch -p0 < 1.7.2-patch01 make If you use GNU patch 2.2, you probably want the above to be 'patch -b -p0', not just 'patch -p0'. Then @shutdown and restart your MUSH. In this patch: * max_dbref was limited to 256 by mistake. Report by Rhysem@M*U*S*H * restricted_building in mush.cnf didn't work. Does now. Report by Rhysem@M*U*S*H * memchecks for hash tables didn't work right. Report by Raevnos@M*U*S*H * Help added for @ufail/@oufail/@aufail. Report by Rhysem@M*U*S*H - Alan/Javelin Index: Patchlevel Prereq: 1.7.2p0 *** Patchlevel.orig Fri, 13 Feb 1998 14:34:10 -0600 dunemush (pennmush/h/12_Patchlevel 1.1 640) 0.16 --- Patchlevel Wed, 18 Feb 1998 18:45:20 -0600 dunemush (pennmush/h/12_Patchlevel 1.1 640) 0.16(w) *************** *** 1,2 **** Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.2p0 --- 1,2 ---- Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.2p1 Index: hdrs/version.h *** hdrs/version.h.orig Fri, 13 Feb 1998 14:31:28 -0600 dunemush (pennmush/e/22_version.h 1.1 640) 0.16 --- hdrs/version.h Wed, 18 Feb 1998 18:45:34 -0600 dunemush (pennmush/e/22_version.h 1.1 640) 0.16(w) *************** *** 1,2 **** ! #define VERSION "PennMUSH version 1.7.2 patchlevel 0 [2/9/98]" ! #define SHORTVN "PennMUSH 1.7.2p0" --- 1,2 ---- ! #define VERSION "PennMUSH version 1.7.2 patchlevel 1 [2/18/98]" ! #define SHORTVN "PennMUSH 1.7.2p1" Index: src/conf.c *** src/conf.c.orig Fri, 13 Feb 1998 14:32:30 -0600 dunemush (pennmush/e/37_conf.c 1.1 640) 0.16 --- src/conf.c Wed, 18 Feb 1998 18:41:01 -0600 dunemush (pennmush/e/37_conf.c 1.1 640) 0.16(w) *************** *** 169,175 **** {"player_name_spaces", cf_bool, &options.player_name_spaces, 2, 0, "cosmetic"}, {"forking_dump", cf_bool, &options.forking_dump, 2, 0, "dump"}, {"military_time", cf_bool, &options.military_time, 2, 0, "cosmetic"}, ! {"restrict_building", cf_bool, &options.restrict_building, 2, 0, "cmds"}, {"free_objects", cf_bool, &options.free_objects, 2, 0, "cmds"}, {"flags_on_examine", cf_bool, &options.flags_on_examine, 2, 0, "cosmetic"}, {"ex_public_attribs", cf_bool, &options.ex_public_attribs, 2, 0, "cosmetic"}, --- 169,175 ---- {"player_name_spaces", cf_bool, &options.player_name_spaces, 2, 0, "cosmetic"}, {"forking_dump", cf_bool, &options.forking_dump, 2, 0, "dump"}, {"military_time", cf_bool, &options.military_time, 2, 0, "cosmetic"}, ! {"restricted_building", cf_bool, &options.restrict_building, 2, 0, "cmds"}, {"free_objects", cf_bool, &options.free_objects, 2, 0, "cmds"}, {"flags_on_examine", cf_bool, &options.flags_on_examine, 2, 0, "cosmetic"}, {"ex_public_attribs", cf_bool, &options.ex_public_attribs, 2, 0, "cosmetic"}, *************** *** 180,186 **** {"globals", cf_bool, &options.globals, 2, 0, "cmds"}, {"global_connects", cf_bool, &options.global_connects, 2, 0, "attribs"}, {"paranoid_nospoof", cf_bool, &options.paranoid_nospoof, 2, 0, "cosmetic"}, ! {"max_dbref", cf_int, &options.max_dbref, 256, 0, "limits"}, {"wizwall_prefix", cf_str, (int *) options.wizwall_prefix, 256, 0, "cosmetic"}, {"rwall_prefix", cf_str, (int *) options.rwall_prefix, 256, 0, "cosmetic"}, {"wall_prefix", cf_str, (int *) options.wall_prefix, 256, 0, "cosmetic"}, --- 180,186 ---- {"globals", cf_bool, &options.globals, 2, 0, "cmds"}, {"global_connects", cf_bool, &options.global_connects, 2, 0, "attribs"}, {"paranoid_nospoof", cf_bool, &options.paranoid_nospoof, 2, 0, "cosmetic"}, ! {"max_dbref", cf_int, &options.max_dbref, -1, 0, "limits"}, {"wizwall_prefix", cf_str, (int *) options.wizwall_prefix, 256, 0, "cosmetic"}, {"rwall_prefix", cf_str, (int *) options.rwall_prefix, 256, 0, "cosmetic"}, {"wall_prefix", cf_str, (int *) options.wall_prefix, 256, 0, "cosmetic"}, *************** *** 291,297 **** n = atoi(val); /* enforce limits */ ! if (n > maxval) { n = maxval; fprintf(stderr, "CONFIGURATION: option %s value limited to %d\n", opt, maxval); --- 291,297 ---- n = atoi(val); /* enforce limits */ ! if ((maxval >= 0) && (n > maxval)) { n = maxval; fprintf(stderr, "CONFIGURATION: option %s value limited to %d\n", opt, maxval); Index: src/htab.c *** src/htab.c.orig Mon, 16 Feb 1998 14:44:40 -0600 dunemush (pennmush/f/39_htab.c 1.2 640) 0.16 --- src/htab.c Wed, 18 Feb 1998 18:44:24 -0600 dunemush (pennmush/f/39_htab.c 1.2 640) 0.16(w) *************** *** 185,191 **** hval = hash_val(key, htab->mask); htab->entries++; ! hptr = (HASHENT *) mush_malloc(HASHENT_SIZE + strlen(key) + 1, "hashent"); strcpy(hptr->key, key); hptr->data = NULL; hptr->next = htab->buckets[hval]; --- 185,191 ---- hval = hash_val(key, htab->mask); htab->entries++; ! hptr = (HASHENT *) mush_malloc(HASHENT_SIZE + strlen(key) + 1, "hash_entry"); strcpy(hptr->key, key); hptr->data = NULL; hptr->next = htab->buckets[hval]; Index: CHANGES *** CHANGES.orig Tue, 17 Feb 1998 11:07:58 -0600 dunemush (pennmush/h/9_CHANGES 1.5 640) 0.16 --- CHANGES Wed, 18 Feb 1998 18:52:31 -0600 dunemush (pennmush/h/9_CHANGES 1.5 640) 0.16(w) *************** *** 15,20 **** --- 15,30 ---- ========================================================================== + Version 1.7.2 patchlevel 1 February 18, 1998 + + Fixes: + * max_dbref was limited to 256 by mistake. Report by Rhysem@M*U*S*H + * restricted_building in mush.cnf didn't work. Does now. + Report by Rhysem@M*U*S*H + * memchecks for hash tables didn't work right. Report by + Raevnos@M*U*S*H + + Version 1.7.2 patchlevel 0 February 9, 1998 Major Changes: Index: game/txt/hlp/penncmd.hlp *** game/txt/hlp/penncmd.hlp.orig Sun, 15 Feb 1998 17:12:13 -0600 dunemush (pennmush/g/51_penncmd.hl 1.2 640) 0.16 --- game/txt/hlp/penncmd.hlp Wed, 18 Feb 1998 19:08:57 -0600 dunemush (pennmush/g/51_penncmd.hl 1.2 640) 0.16(w) *************** *** 185,190 **** --- 185,204 ---- Sets the actions taken by the object whenever someone enters it. See also: @enter, @oenter, enter, ACTION LISTS + & @aufail + & @oufail + & @ufail + @ufail <object> = <message> + @oufail <object> = <message> + @aufail <object> = <action> + + Sets message shown to a player who fails to use an object via + the 'use' command (@ufail), message shown to others in the room + (@oufail), and action for the object to take (@aufail). + + Note that these attributes are @ufail, NOT @ufailure, for + TinyMUSH compatibility. + & @afailure @afailure <object> = <action list>