[PENNMUSH-ANNOUNCE] 1.7.6-patch02
dunemush@tala.mede.uic.edu
dunemush at tala.mede.uic.edu
Wed Dec 18 04:37:39 2002
This is patch02 to PennMUSH 1.7.6. After applying this patch, you will
have version 1.7.6p2
To apply this patch, save it to a file in your top-level MUSH directory,
and do the following:
patch -p1 < 1.7.6-patch02
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:
* An invalid range argument to @search/lsearch is now coerced
to be the lowest or highest dbref, as appropriate. The search
range is also now inclusive. And lsearch(<player>) works.
Suggested by Philip Mak.
* mushcnf.dst now includes a default value for call_limit.
Suggested by Philip Mak.
* Testing for whether the mush is already running in the
restart script has been improved by Philip Mak.
Internationalization:
* Polish translation files (partial) are now being distributed.
Fixes:
* Fix to win32 warnings. [EEH]
* Under Win32, a failed accept() call in bsd.c would not be
correctly handled. Report by BladedThoth@M*U*S*H.
* Help fixes by Luigi@8bitMUSH, Kyieren@M*U*S*H, Intrevis@M*U*S*H.
* @map crash bug repoted by Philip Mak, fixed by Walker@M*U*S*H.
* Modifiying locks now updates the object's modification time.
Reported by Philip Mak.
Prereq: 1.7.6p1
*** 1_7_6.57/Patchlevel Mon, 09 Dec 2002 10:15:18 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.1.1.1 600)
--- 1_7_6.69(w)/Patchlevel Tue, 17 Dec 2002 22:33:13 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.1.1.2 600)
***************
*** 1,2 ****
Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.6p1
--- 1,2 ----
Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.6p2
*** 1_7_6.57/CHANGES Sun, 08 Dec 2002 22:35:42 -0600 dunemush (pennmush/g/17_CHANGES 1.10.1.6.1.2.1.2.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1 600)
--- 1_7_6.69(w)/CHANGES Tue, 17 Dec 2002 22:32:59 -0600 dunemush (pennmush/g/17_CHANGES 1.10.1.6.1.2.1.2.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.9.1.1.1.1 600)
***************
*** 18,23 ****
--- 18,46 ----
==========================================================================
+ Version 1.7.6 patchlevel 2 December 17, 2002
+
+ Minor changes:
+ * An invalid range argument to @search/lsearch is now coerced
+ to be the lowest or highest dbref, as appropriate. The search
+ range is also now inclusive. And lsearch(<player>) works.
+ Suggested by Philip Mak.
+ * mushcnf.dst now includes a default value for call_limit.
+ Suggested by Philip Mak.
+ * Testing for whether the mush is already running in the
+ restart script has been improved by Philip Mak.
+ Internationalization:
+ * Polish translation files (partial) are now being distributed.
+ Fixes:
+ * Fix to win32 warnings. [EEH]
+ * Under Win32, a failed accept() call in bsd.c would not be
+ correctly handled. Report by BladedThoth@M*U*S*H.
+ * Help fixes by Luigi@8bitMUSH, Kyieren@M*U*S*H, Intrevis@M*U*S*H.
+ * @map crash bug repoted by Philip Mak, fixed by Walker@M*U*S*H.
+ * Modifiying locks now updates the object's modification time.
+ Reported by Philip Mak.
+
+
Version 1.7.6 patchlevel 1 November 26, 2002
Minor changes:
*** 1_7_6.57/game/txt/hlp/pennvers.hlp Sun, 08 Dec 2002 22:35:42 -0600 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.3.1.1.1.3.1.1.1.54.1.10.1.2.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1 600)
--- 1_7_6.69(w)/game/txt/hlp/pennvers.hlp Tue, 17 Dec 2002 22:33:28 -0600 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.3.1.1.1.3.1.1.1.54.1.10.1.2.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.7.1.1.1.1 600)
***************
*** 1,5 ****
& changes
! & 1.7.6p1
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.6p2
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,40 ----
A list of the patchlevels associated with each release can
be read in 'help patchlevels'.
+ Version 1.7.6 patchlevel 2 December 17, 2002
+
+ Minor changes:
+ * An invalid range argument to @search/lsearch is now coerced
+ to be the lowest or highest dbref, as appropriate. The search
+ range is also now inclusive. And lsearch(<player>) works.
+ Suggested by Philip Mak.
+ * mushcnf.dst now includes a default value for call_limit.
+ Suggested by Philip Mak.
+ * Testing for whether the mush is already running in the
+ restart script has been improved by Philip Mak.
+ Internationalization:
+ * Polish translation files (partial) are now being distributed.
+ Fixes:
+ * Fix to win32 warnings. [EEH]
+ * Under Win32, a failed accept() call in bsd.c would not be
+ correctly handled. Report by BladedThoth@M*U*S*H.
+ * Help fixes by Luigi@8bitMUSH, Kyieren@M*U*S*H, Intrevis@M*U*S*H.
+ * @map crash bug repoted by Philip Mak, fixed by Walker@M*U*S*H.
+ * Modifiying locks now updates the object's modification time.
+ Reported by Philip Mak.
+
+
+ & 1.7.6p1
Version 1.7.6 patchlevel 1 November 26, 2002
Minor changes:
***************
*** 5747,5753 ****
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.6: 0, 1
1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20
--- 5771,5777 ----
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.6: 0, 1, 2
1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
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_6.57/game/txt/hlp/pennfunc.hlp Mon, 02 Dec 2002 18:14:17 -0600 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.1.1.1.1.9.1.1.1.1 600)
--- 1_7_6.69(w)/game/txt/hlp/pennfunc.hlp Wed, 11 Dec 2002 15:32:36 -0600 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.1.1.1.1.9.1.1.1.1.1.3 600)
***************
*** 1897,1904 ****
& LSEARCH()
& SEARCH()
& LSEARCHR()
! lsearch(<player>, <class>, <restriction>[, <low>[, <high>]])
! lsearchr(<player>, <class>, <restriction>[, <low>[, <high>]])
This function is similar to the @search command, except it returns
just a list of dbref numbers. It is computationally expensive, and
--- 1897,1904 ----
& LSEARCH()
& SEARCH()
& LSEARCHR()
! lsearch(<player>[, <class>[, <restriction>[, <low>[, <high>]]]])
! lsearchr(<player>[, <class>[, <restriction>[, <low>[, <high>]]]])
This function is similar to the @search command, except it returns
just a list of dbref numbers. It is computationally expensive, and
***************
*** 2529,2535 ****
& RAND()
rand(<num>)
! Rand returns an integer between 0 and num-1.
If called with an invalid argument, rand() returns an error message
beginning with #-1.
& REGEDIT()
--- 2529,2535 ----
& RAND()
rand(<num>)
! Rand returns an integer between 0 and num-1, inclusive.
If called with an invalid argument, rand() returns an error message
beginning with #-1.
& REGEDIT()
***************
*** 3408,3432 ****
Example:
> @va Object=$test *:"[ufun(testfun, v(0))]; @emit [v(0)]
! >
! &testfun object=[strlen(v(0))] [ucstr(v(0))]
> test string
! Foo says, "6 STRING"
string
! See "help UFUN3" for more.
!
! & U3
! & UFUN3
! A user-defined function may be as complex as you want it to be.
If the evaluation order doesn't quite seem right, adding escapes
or breaking up the expression will probably help.
- Excessive recursion in either a UFUN() or ZFUN() will cause it to
- return "#-1 EXCESSIVE RECURSION ERROR", and sets the object HALT.
- An object which is HALT may not evaluate either UFUN() or ZFUN();
- those functions will then return "#-1 OBJECT HALTED".
-
& UCSTR()
ucstr(<string>)
--- 3408,3424 ----
Example:
> @va Object=$test *:"[ufun(testfun, v(0))]; @emit [v(0)]
! > &testfun object=[strlen(v(0))] [ucstr(v(0))]
> test string
! Object says, "6 STRING"
string
! A user-defined function may be as complex as you want it to be,
! subject to limits on recursion depth, number of function invocations,
! or cpu time that may be configured in the MUSH.
If the evaluation order doesn't quite seem right, adding escapes
or breaking up the expression will probably help.
& UCSTR()
ucstr(<string>)
*** 1_7_6.57/game/txt/hlp/penncmd.hlp Mon, 09 Dec 2002 10:15:18 -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 600)
--- 1_7_6.69(w)/game/txt/hlp/penncmd.hlp Tue, 17 Dec 2002 15:44:52 -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 600)
***************
*** 808,815 ****
See also: SAFE, GOING, DESTROY_OK
& @dig
! @dig <room name> [= <exit name>;<exit alias>*,<exit name>;<exit alias>*]
! @dig/teleport
This command is used to create a new room, possibly with exits linking
it to the room you are standing in. This command normally costs 10 pennies,
--- 808,814 ----
See also: SAFE, GOING, DESTROY_OK
& @dig
! @dig[/teleport] <room name>[=<exit name>;<alias>*,<exit name>;<alias>*]
This command is used to create a new room, possibly with exits linking
it to the room you are standing in. This command normally costs 10 pennies,
***************
*** 973,980 ****
(which is a good thing for security).
& @emit
& \
! @emit[/room][/silent] <message>
! @emit[/noeval] <message>
\<message>
This sends <message> to every person in the current room. However, no
--- 972,978 ----
(which is a good thing for security).
& @emit
& \
! @emit[/room][/silent][/noeval] [<message>]
\<message>
This sends <message> to every person in the current room. However, no
*** 1_7_6.57/game/restart Fri, 17 May 2002 14:49:25 -0500 dunemush (pennmush/39_restart 1.1.1.1.1.1.1.2.1.1.1.1.1.2.1.2 700)
--- 1_7_6.69(w)/game/restart Tue, 17 Dec 2002 00:15:34 -0600 dunemush (pennmush/39_restart 1.1.1.1.1.1.1.2.1.1.1.1.1.2.1.2.2.1 700)
***************
*** 55,61 ****
# Prevent double-starting things. You may need to provide a pathname for
# some of the commands. System V flavors need "ps -f" instead of "ps uwx".
! mush=`ps uwx | grep $CONF_FILE | grep -v grep | wc -l`
if [ $mush -gt 0 ]; then
--- 55,61 ----
# Prevent double-starting things. You may need to provide a pathname for
# some of the commands. System V flavors need "ps -f" instead of "ps uwx".
! mush=`ps uwx | grep " $CONF_FILE" | grep -v grep | wc -l`
if [ $mush -gt 0 ]; then
*** 1_7_6.57/game/mushcnf.dst Sun, 08 Dec 2002 22:35:42 -0600 dunemush (pennmush/41_mushcnf.ds 1.1.1.19.1.1.1.2.1.1.1.8.1.1 600)
--- 1_7_6.69(w)/game/mushcnf.dst Tue, 17 Dec 2002 15:49:19 -0600 dunemush (pennmush/41_mushcnf.ds 1.1.1.19.1.1.1.2.1.1.1.8.1.1.1.1 600)
***************
*** 161,171 ****
# the maximum number of times we're allowed to recursively call the parser
# for a single expression. This limits how much the stack size can increase,
# which could be useful if your host limits your stack (it will prevent
! # a crash).
# But remember that you need to recurse for every [ or { or function call
# in your code, and those add up quickly. So this must often be set quite
# high (e.g. 18000), alas. Setting it to '0' means unlimited.
! call_limit 0
# The maximum number of milliseconds of CPU time that a single queue entry
# is allowed to use before aborting. Setting this to a low number will
--- 161,172 ----
# the maximum number of times we're allowed to recursively call the parser
# for a single expression. This limits how much the stack size can increase,
# which could be useful if your host limits your stack (it will prevent
! # a crash). The higher your allowed stack size limit, the larger the
! # mush process can grow, and the higher this can be set.
# But remember that you need to recurse for every [ or { or function call
# in your code, and those add up quickly. So this must often be set quite
# high (e.g. 18000), alas. Setting it to '0' means unlimited.
! call_limit 10000
# The maximum number of milliseconds of CPU time that a single queue entry
# is allowed to use before aborting. Setting this to a low number will
*** 1_7_6.57/src/wiz.c Fri, 06 Dec 2002 21:20:38 -0600 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.1.2.2.2.1.2.1.1.1.1.1.1 660)
--- 1_7_6.69(w)/src/wiz.c Tue, 17 Dec 2002 22:34:46 -0600 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.1.2.2.2.1.2.1.1.1.1.1.1.1.2 660)
***************
*** 1304,1310 ****
object_flag_type restrict_flags = 0;
dbref restrict_obj = NOTHING, restrict_owner = ANY_OWNER;
int is_wiz;
! dbref low = 0, high = db_top;
is_wiz = Search_All(player) || See_All(player);
--- 1304,1310 ----
object_flag_type restrict_flags = 0;
dbref restrict_obj = NOTHING, restrict_owner = ANY_OWNER;
int is_wiz;
! dbref low = 0, high = db_top - 1;
is_wiz = Search_All(player) || See_All(player);
***************
*** 1314,1333 ****
if (start[0] == '#')
offset = 1;
low = parse_integer(start + offset);
! if (!GoodObject(low)) {
! notify(player, T("Invalid range argument."));
! return -1;
! }
}
if (stop && *stop) {
Size_t offset = 0;
if (stop[0] == '#')
offset = 1;
high = parse_integer(stop + offset);
! if (!GoodObject(high)) {
! notify(player, T("Invalid range argument."));
! return -1;
! }
}
/* set limits on who we search */
--- 1314,1329 ----
if (start[0] == '#')
offset = 1;
low = parse_integer(start + offset);
! if (!GoodObject(low))
! low = 0;
}
if (stop && *stop) {
Size_t offset = 0;
if (stop[0] == '#')
offset = 1;
high = parse_integer(stop + offset);
! if (!GoodObject(high))
! high = db_top - 1;
}
/* set limits on who we search */
***************
*** 1454,1460 ****
switch (sclass) {
case S_OWNER: /* @search someone */
case S_TYPE: /* @search type=whatever */
! for (n = low; n < high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (restrict_type == NOTYPE || Typeof(n) == restrict_type)) {
if (nresults >= result_size) {
--- 1450,1456 ----
switch (sclass) {
case S_OWNER: /* @search someone */
case S_TYPE: /* @search type=whatever */
! for (n = low; n <= high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (restrict_type == NOTYPE || Typeof(n) == restrict_type)) {
if (nresults >= result_size) {
***************
*** 1471,1477 ****
}
break;
case S_ZONE: /* @search ZONE=#1234 */
! for (n = low; n < high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& Zone(n) == restrict_obj) {
if (nresults >= result_size) {
--- 1467,1473 ----
}
break;
case S_ZONE: /* @search ZONE=#1234 */
! for (n = low; n <= high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& Zone(n) == restrict_obj) {
if (nresults >= result_size) {
***************
*** 1489,1495 ****
}
break;
case S_PARENT: /* @search parent=#1234 */
! for (n = low; n < high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& Parent(n) == restrict_obj) {
if (nresults >= result_size) {
--- 1485,1491 ----
}
break;
case S_PARENT: /* @search parent=#1234 */
! for (n = low; n <= high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& Parent(n) == restrict_obj) {
if (nresults >= result_size) {
***************
*** 1507,1513 ****
}
break;
case S_NAME: /* @search (?:name|exits|objects|rooms|players|things)=name */
! for (n = low; n < high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (restrict_type == NOTYPE || Typeof(n) == restrict_type)
&& string_match(Name(n), restriction)) {
--- 1503,1509 ----
}
break;
case S_NAME: /* @search (?:name|exits|objects|rooms|players|things)=name */
! for (n = low; n <= high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (restrict_type == NOTYPE || Typeof(n) == restrict_type)
&& string_match(Name(n), restriction)) {
***************
*** 1535,1541 ****
if (!restriction || !*restriction)
break;
! for (n = low; n < high; n++) {
if (!((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (restrict_type == NOTYPE || Typeof(n) == restrict_type)))
continue;
--- 1531,1537 ----
if (!restriction || !*restriction)
break;
! for (n = low; n <= high; n++) {
if (!((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (restrict_type == NOTYPE || Typeof(n) == restrict_type)))
continue;
***************
*** 1566,1572 ****
}
break;
case S_POWER: /* @search power=see_all */
! for (n = low; n < high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (Powers(n) & restrict_flags) == restrict_flags) {
if (nresults >= result_size) {
--- 1562,1568 ----
}
break;
case S_POWER: /* @search power=see_all */
! for (n = low; n <= high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (Powers(n) & restrict_flags) == restrict_flags) {
if (nresults >= result_size) {
***************
*** 1584,1590 ****
}
break;
case S_FLAG:
! for (n = low; n < high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (restrict_type == NOTYPE || Typeof(n) == restrict_type)
&& flaglist_check(player, n, restriction, 1)) {
--- 1580,1586 ----
}
break;
case S_FLAG:
! for (n = low; n <= high; n++) {
if ((restrict_owner == ANY_OWNER || Owner(n) == restrict_owner)
&& (restrict_type == NOTYPE || Typeof(n) == restrict_type)
&& flaglist_check(player, n, restriction, 1)) {
*** 1_7_6.57/src/timer.c Thu, 05 Sep 2002 09:29:20 -0500 dunemush (pennmush/b/29_timer.c 1.29.1.7 660)
--- 1_7_6.69(w)/src/timer.c Tue, 17 Dec 2002 22:34:46 -0600 dunemush (pennmush/b/29_timer.c 1.29.1.7.1.1 660)
***************
*** 216,222 ****
}
#elif defined(WIN32) /* Windoze way */
if (options.queue_entry_cpu_time > 0)
! timer_id = SetTimer(NULL, NULL, (unsigned) options.queue_entry_cpu_time,
(TIMERPROC) win32_timer);
else
timer_set = 0;
--- 216,222 ----
}
#elif defined(WIN32) /* Windoze way */
if (options.queue_entry_cpu_time > 0)
! timer_id = SetTimer(NULL, 0, (unsigned) options.queue_entry_cpu_time,
(TIMERPROC) win32_timer);
else
timer_set = 0;
*** 1_7_6.57/src/switchinc.c Mon, 09 Dec 2002 14:23:00 -0600 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.31.3.4.1.1 660)
--- 1_7_6.69(w)/src/switchinc.c Tue, 17 Dec 2002 22:34:46 -0600 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.31.3.4.1.2 660)
***************
*** 132,136 ****
{"WIZARD", SWITCH_WIZARD},
{"YES", SWITCH_YES},
{"ZONE", SWITCH_ZONE},
! {NULL, 0}
};
--- 132,136 ----
{"WIZARD", SWITCH_WIZARD},
{"YES", SWITCH_YES},
{"ZONE", SWITCH_ZONE},
! {NULL, 0}
};
*** 1_7_6.57/src/strutil.c Sun, 01 Dec 2002 13:45:45 -0600 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.7.2.1.1.2.1.1.1.1.1.1.1.21 660)
--- 1_7_6.69(w)/src/strutil.c Tue, 17 Dec 2002 22:34:46 -0600 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.7.2.1.1.2.1.1.1.1.1.1.1.21.1.2 660)
***************
*** 1091,1097 ****
* which we need).
*/
r = ldiv(r.quot, 10);
! *(--current) = r.rem + '0';
} while (r.quot);
/* Add the negative sign if needed. */
--- 1091,1097 ----
* which we need).
*/
r = ldiv(r.quot, 10);
! *(--current) = (unsigned char) r.rem + '0';
} while (r.quot);
/* Add the negative sign if needed. */
*** 1_7_6.57/src/lock.c Wed, 20 Nov 2002 09:43:49 -0600 dunemush (pennmush/c/6_lock.c 1.17.1.13 660)
--- 1_7_6.69(w)/src/lock.c Tue, 17 Dec 2002 22:34:43 -0600 dunemush (pennmush/c/6_lock.c 1.17.1.13.1.1 660)
***************
*** 32,37 ****
--- 32,38 ----
#include "mushdb.h"
#include "attrib.h"
#include "externs.h"
+ #include "dbdefs.h"
#include "lock.h"
#include "match.h"
#include "log.h"
***************
*** 497,506 ****
if (getlock(thing, real_type) == TRUE_BOOLEXP)
notify_format(player, T("%s(%s) - (already) unlocked."), Name(thing),
unparse_dbref(thing));
! else if (delete_lock(player, thing, real_type))
notify_format(player, T("%s(%s) - unlocked."), Name(thing),
unparse_dbref(thing));
! else
notify(player, T("Permission denied."));
}
}
--- 498,510 ----
if (getlock(thing, real_type) == TRUE_BOOLEXP)
notify_format(player, T("%s(%s) - (already) unlocked."), Name(thing),
unparse_dbref(thing));
! else if (delete_lock(player, thing, real_type)) {
notify_format(player, T("%s(%s) - unlocked."), Name(thing),
unparse_dbref(thing));
! #ifdef CREATION_TIMES
! ModTime(thing) = mudtime;
! #endif
! } else
notify(player, T("Permission denied."));
}
}
***************
*** 555,564 ****
} else {
if ((real_type = check_lock_type(player, thing, type)) != NULL) {
/* everything ok, do it */
! if (add_lock(player, thing, real_type, key, -1))
notify_format(player, T("%s(%s) - locked."), Name(thing),
unparse_dbref(thing));
! else
notify(player, T("Permission denied."));
}
}
--- 559,571 ----
} else {
if ((real_type = check_lock_type(player, thing, type)) != NULL) {
/* everything ok, do it */
! if (add_lock(player, thing, real_type, key, -1)) {
notify_format(player, T("%s(%s) - locked."), Name(thing),
unparse_dbref(thing));
! #ifdef CREATION_TIMES
! ModTime(thing) = mudtime;
! #endif
! } else
notify(player, T("Permission denied."));
}
}
***************
*** 638,641 ****
--- 645,651 ----
notify_format(player, "%s/%s - %s.", Name(thing), L_TYPE(l),
unset ? "unset" : "set");
+ #ifdef CREATION_TIMES
+ ModTime(thing) = mudtime;
+ #endif
}
*** 1_7_6.57/src/game.c Sat, 30 Nov 2002 15:49:22 -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 660)
--- 1_7_6.69(w)/src/game.c Tue, 17 Dec 2002 22:34:43 -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 660)
***************
*** 1368,1384 ****
bind_and_queue(player, cause, command, curr, placestr);
} else {
const char *replace[2];
! char *ebuf;
/* it's @map, add to the output list */
if (bp != outbuf)
safe_chr(delim, outbuf, &bp);
replace[0] = curr;
replace[1] = placestr;
! ebuf = replace_string2(standard_tokens, replace, command);
process_expression(outbuf, &bp, (char const **) &ebuf,
player, cause, cause, PE_DEFAULT, PT_DEFAULT, NULL);
! mush_free(ebuf, "replace_string.buff");
}
}
--- 1368,1384 ----
bind_and_queue(player, cause, command, curr, placestr);
} else {
const char *replace[2];
! char *ebuf, *ebufptr;
/* it's @map, add to the output list */
if (bp != outbuf)
safe_chr(delim, outbuf, &bp);
replace[0] = curr;
replace[1] = placestr;
! ebufptr = ebuf = replace_string2(standard_tokens, replace, command);
process_expression(outbuf, &bp, (char const **) &ebuf,
player, cause, cause, PE_DEFAULT, PT_DEFAULT, NULL);
! mush_free(ebufptr, "replace_string.buff");
}
}
*** 1_7_6.57/src/function.c Sat, 30 Nov 2002 15:49:22 -0600 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.14.1.2 660)
--- 1_7_6.69(w)/src/function.c Tue, 17 Dec 2002 22:34:43 -0600 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.14.1.2.1.1 660)
***************
*** 302,309 ****
{"LOCK", fun_lock, 1, 2, FN_REG},
{"LPARENT", fun_lparent, 1, 1, FN_REG},
{"LPLAYERS", fun_lplayers, 1, 1, FN_REG},
! {"LSEARCH", fun_lsearch, 3, 5, FN_REG},
! {"LSEARCHR", fun_lsearch, 3, 5, FN_REG},
{"LSTATS", fun_lstats, 0, 1, FN_REG},
{"LT", fun_lt, 2, 2, FN_REG},
{"LTE", fun_lte, 2, 2, FN_REG},
--- 302,309 ----
{"LOCK", fun_lock, 1, 2, FN_REG},
{"LPARENT", fun_lparent, 1, 1, FN_REG},
{"LPLAYERS", fun_lplayers, 1, 1, FN_REG},
! {"LSEARCH", fun_lsearch, 1, 5, FN_REG},
! {"LSEARCHR", fun_lsearch, 1, 5, FN_REG},
{"LSTATS", fun_lstats, 0, 1, FN_REG},
{"LT", fun_lt, 2, 2, FN_REG},
{"LTE", fun_lte, 2, 2, FN_REG},
*** 1_7_6.57/src/conf.c Sat, 30 Nov 2002 15:49:22 -0600 dunemush (pennmush/c/31_conf.c 1.41.2.3.1.3.1.2.1.15 660)
--- 1_7_6.69(w)/src/conf.c Tue, 17 Dec 2002 22:34:42 -0600 dunemush (pennmush/c/31_conf.c 1.41.2.3.1.3.1.2.1.15.1.1.1.1 660)
***************
*** 936,941 ****
--- 936,942 ----
options.player_name_len = 16;
options.queue_entry_cpu_time = 1500;
options.ascii_names = 1;
+ options.call_lim = 10000;
}
/* Limit how many files we can nest */
*** 1_7_6.57/src/bsd.c Sun, 08 Dec 2002 22:35:42 -0600 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.1.1.3.1.8.2.1.1.1.1.1.1.1.1.2.1.1 660)
--- 1_7_6.69(w)/src/bsd.c Tue, 17 Dec 2002 22:34:42 -0600 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.1.1.3.1.8.2.1.1.1.1.1.1.1.1.2.1.1.1.1 660)
***************
*** 373,379 ****
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;
--- 373,379 ----
struct timeval *update_quotas(struct timeval *last, struct timeval *current);
void shovechars(Port_t port);
! DESC *new_connection(int oldsock, int *result);
void clearstrings(DESC *d);
typedef struct fblock {
char *buff;
***************
*** 2173,2181 ****
}
#else
if (FD_ISSET(sock, &input_set)) {
! if (!(newd = new_connection(sock))) {
#ifdef WIN32
! if (newd == INVALID_SOCKET && WSAGetLastError() != WSAEINTR)
#else
if (errno && errno != EINTR)
#endif
--- 2173,2182 ----
}
#else
if (FD_ISSET(sock, &input_set)) {
! int result;
! if (!(newd = new_connection(sock, &result))) {
#ifdef WIN32
! if (result == INVALID_SOCKET && WSAGetLastError() != WSAEINTR)
#else
if (errno && errno != EINTR)
#endif
***************
*** 2210,2217 ****
}
DESC *
! new_connection(oldsock)
! int oldsock;
{
int newsock;
union sockaddr_u addr;
--- 2211,2217 ----
}
DESC *
! new_connection(int oldsock, int *result)
{
int newsock;
union sockaddr_u addr;
***************
*** 2223,2231 ****
--- 2223,2233 ----
char *socket_ident;
char *chp;
+ *result = 0;
addr_len = MAXSOCKADDR;
newsock = accept(oldsock, (struct sockaddr *) (addr.data), &addr_len);
if (newsock < 0) {
+ *result = newsock;
return 0;
}
bp = tbuf2;
*** 1_7_6.57/hdrs/version.h Mon, 09 Dec 2002 10:15:18 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.1 660)
--- 1_7_6.69(w)/hdrs/version.h Tue, 17 Dec 2002 22:34:47 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.2.1.1 660)
***************
*** 1,2 ****
! #define VERSION "PennMUSH version 1.7.6 patchlevel 1 [12/08/2002]"
! #define SHORTVN "PennMUSH 1.7.6p1"
--- 1,2 ----
! #define VERSION "PennMUSH version 1.7.6 patchlevel 2 [12/17/2002]"
! #define SHORTVN "PennMUSH 1.7.6p2"
*** 1_7_6.57/po/Makefile Wed, 13 Nov 2002 15:39:20 -0600 dunemush (pennmush/e/47_Makefile 1.10 660)
--- 1_7_6.69(w)/po/Makefile Tue, 17 Dec 2002 22:31:44 -0600 dunemush (pennmush/e/47_Makefile 1.11 660)
***************
*** 1,7 ****
.SUFFIXES: .po .pox .mo
POFILES=ru_RU.po nl_NL.po sv_SE.po hu_HU.po es_ES.po pt_BR.po fr_FR.po \
! da_DK.po de_DE.po no_NO.po
.pox.po: $*.pox pennmush.pot
-msgmerge -E -v $*.pox pennmush.pot > $*.po
--- 1,7 ----
.SUFFIXES: .po .pox .mo
POFILES=ru_RU.po nl_NL.po sv_SE.po hu_HU.po es_ES.po pt_BR.po fr_FR.po \
! da_DK.po de_DE.po no_NO.po pl_PL.po
.pox.po: $*.pox pennmush.pot
-msgmerge -E -v $*.pox pennmush.pot > $*.po
More information about the %(listname)s
mailing list