[PENNMUSH-ANNOUNCE] 1.7.7-patch01
dunemush at tala.mede.uic.edu
dunemush at tala.mede.uic.edu
Wed Dec 18 04:44:58 CST 2002
This is patch01 to PennMUSH 1.7.7. After applying this patch, you will
have version 1.7.7p1
To apply this patch, save it to a file in your top-level MUSH directory,
and do the following:
patch -p1 < 1.7.7-patch01
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:
* ex obj/attrib returns the attribute value even if it's veiled,
if a specific (non-wildcard) attribute is given. Suggested by
Nhoj@M*U*S*H.
Fixes:
* Win32 portability fixes. [EEH]
* Fixes from 1.7.6p2
Prereq: 1.7.7p0
*** 1_7_7.59/Patchlevel Tue, 26 Nov 2002 21:18:51 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.2 600)
--- 1_7_7.65(w)/Patchlevel Tue, 17 Dec 2002 22:43:29 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.2 600)
***************
*** 1,2 ****
Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.7p0
--- 1,2 ----
Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.7p1
*** 1_7_7.59/CHANGES Thu, 12 Dec 2002 21:23:20 -0600 dunemush (pennmush/g/23_CHANGES 1.19 600)
--- 1_7_7.65(w)/CHANGES Tue, 17 Dec 2002 16:00:39 -0600 dunemush (pennmush/g/23_CHANGES 1.21 600)
***************
*** 18,23 ****
--- 18,33 ----
==========================================================================
+ Version 1.7.7 patchlevel 1 December 17, 2002
+
+ Minor Changes:
+ * ex obj/attrib returns the attribute value even if it's veiled,
+ if a specific (non-wildcard) attribute is given. Suggested by
+ Nhoj@M*U*S*H.
+ Fixes:
+ * Win32 portability fixes. [EEH]
+ * Fixes from 1.7.6p2
+
Version 1.7.7 patchlevel 0 December 8, 2002
Major Changes:
*** 1_7_7.59/game/txt/hlp/pennvers.hlp Thu, 12 Dec 2002 21:23:20 -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.3 600)
--- 1_7_7.65(w)/game/txt/hlp/pennvers.hlp Tue, 17 Dec 2002 22:42:53 -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.7p0
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.7p1
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,27 ----
A list of the patchlevels associated with each release can
be read in 'help patchlevels'.
+ Version 1.7.7 patchlevel 1 December 17, 2002
+
+ Minor Changes:
+ * ex obj/attrib returns the attribute value even if it's veiled,
+ if a specific (non-wildcard) attribute is given. Suggested by
+ Nhoj@M*U*S*H.
+ Fixes:
+ * Win32 portability fixes. [EEH]
+ * Fixes from 1.7.6p2
+
+ & 1.7.7p0
Version 1.7.7 patchlevel 0 December 8, 2002
Major Changes:
***************
*** 1251,1256 ****
--- 1262,1291 ----
* Indentation fixes [SW]
* Fixes up to 1.7.4p12 merged in.
+ & 1.7.6p2
+ 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
***************
*** 5791,5798 ****
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.7: 0
! 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
--- 5826,5833 ----
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.7: 0, 1
! 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_7.59/game/txt/hlp/pennfunc.hlp Mon, 02 Dec 2002 18:14:37 -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.2 600)
--- 1_7_7.65(w)/game/txt/hlp/pennfunc.hlp Tue, 17 Dec 2002 00:17:01 -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.4 600)
***************
*** 1898,1905 ****
& 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
--- 1898,1905 ----
& 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
***************
*** 2530,2536 ****
& 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()
--- 2530,2536 ----
& 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()
***************
*** 3409,3433 ****
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>)
--- 3409,3425 ----
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_7.59/game/txt/hlp/penncmd.hlp Mon, 09 Dec 2002 14:24:35 -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.2 600)
--- 1_7_7.65(w)/game/txt/hlp/penncmd.hlp Tue, 17 Dec 2002 15:56:27 -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.2 600)
***************
*** 820,827 ****
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,
--- 820,826 ----
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,
***************
*** 985,992 ****
(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
--- 984,990 ----
(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_7.59/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_7.65(w)/game/restart Tue, 17 Dec 2002 00:17:03 -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_7.59/game/mushcnf.dst Sun, 08 Dec 2002 22:36:08 -0600 dunemush (pennmush/41_mushcnf.ds 1.1.1.19.1.1.1.2.1.1.1.8.1.2 600)
--- 1_7_7.65(w)/game/mushcnf.dst Tue, 17 Dec 2002 16:00:54 -0600 dunemush (pennmush/41_mushcnf.ds 1.1.1.19.1.1.1.2.1.1.1.8.1.1.1.2 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_7.59/src/wiz.c Fri, 06 Dec 2002 21:20:59 -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.2 660)
--- 1_7_7.65(w)/src/wiz.c Tue, 17 Dec 2002 22:44:12 -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.3 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_7.59/src/timer.c Sat, 07 Dec 2002 16:26:26 -0600 dunemush (pennmush/b/29_timer.c 1.29.1.8 660)
--- 1_7_7.65(w)/src/timer.c Tue, 17 Dec 2002 22:44:12 -0600 dunemush (pennmush/b/29_timer.c 1.29.1.7.1.2 660)
***************
*** 214,220 ****
}
#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;
--- 214,220 ----
}
#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_7.59/src/switchinc.c Sat, 07 Dec 2002 16:26:26 -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.7 660)
--- 1_7_7.65(w)/src/switchinc.c Tue, 17 Dec 2002 22:44:12 -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_7.59/src/strutil.c Sun, 01 Dec 2002 21:14:41 -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.22 660)
--- 1_7_7.65(w)/src/strutil.c Tue, 17 Dec 2002 22:44:12 -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.3 660)
***************
*** 1094,1100 ****
* which we need).
*/
r = ldiv(r.quot, 10);
! *(--current) = r.rem + '0';
} while (r.quot);
/* Add the negative sign if needed. */
--- 1094,1100 ----
* 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_7.59/src/look.c Sat, 07 Dec 2002 16:26:26 -0600 dunemush (pennmush/c/4_look.c 1.21.1.2.1.19 660)
--- 1_7_7.65(w)/src/look.c Tue, 17 Dec 2002 22:44:11 -0600 dunemush (pennmush/c/4_look.c 1.21.1.2.1.21 660)
***************
*** 379,385 ****
static void
look_atrs(dbref player, dbref thing, const char *mstr, int all)
{
! if (all) {
if (!atr_iter_get(player, thing, mstr, look_helper, NULL) && mstr)
notify(player, T("No matching attributes."));
} else {
--- 379,385 ----
static void
look_atrs(dbref player, dbref thing, const char *mstr, int all)
{
! if (all || (mstr && *mstr && !wildcard(mstr))) {
if (!atr_iter_get(player, thing, mstr, look_helper, NULL) && mstr)
notify(player, T("No matching attributes."));
} else {
*** 1_7_7.59/src/lock.c Sun, 01 Dec 2002 21:14:41 -0600 dunemush (pennmush/c/6_lock.c 1.17.1.14 660)
--- 1_7_7.65(w)/src/lock.c Tue, 17 Dec 2002 22:44:11 -0600 dunemush (pennmush/c/6_lock.c 1.17.1.13.1.2 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,508 ----
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));
! ModTime(thing) = mudtime;
! } 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."));
}
}
--- 557,567 ----
} 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));
! ModTime(thing) = mudtime;
! } else
notify(player, T("Permission denied."));
}
}
***************
*** 638,641 ****
--- 641,645 ----
notify_format(player, "%s/%s - %s.", Name(thing), L_TYPE(l),
unset ? "unset" : "set");
+ ModTime(thing) = mudtime;
}
*** 1_7_7.59/src/game.c Sat, 07 Dec 2002 16:26:26 -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.5 660)
--- 1_7_7.65(w)/src/game.c Tue, 17 Dec 2002 22:44:08 -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.2 660)
***************
*** 1357,1373 ****
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");
}
}
--- 1357,1373 ----
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_7.59/src/funstr.c Mon, 02 Dec 2002 18:50:58 -0600 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.3.1.5.1.3.1.6 660)
--- 1_7_7.65(w)/src/funstr.c Tue, 17 Dec 2002 22:44:08 -0600 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.3.1.5.1.3.1.7 660)
***************
*** 4,9 ****
--- 4,10 ----
#include <string.h>
#include <ctype.h>
#include <limits.h>
+ #include <locale.h>
#include "conf.h"
#include "ansi.h"
#include "externs.h"
***************
*** 19,28 ****
--- 20,35 ----
#include "lock.h"
#include "confmagic.h"
+
#ifdef WIN32
+ #define LC_MESSAGES 6
#pragma warning( disable : 4761) /* NJG: disable warning re conversion */
#endif
+ #ifdef __APPLE__
+ #define LC_MESSAGES 6
+ #endif
+
HASHTAB htab_tag;
static int wraplen(char *str, int maxlen);
*** 1_7_7.59/src/function.c Sat, 07 Dec 2002 16:26:26 -0600 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.14.1.5 660)
--- 1_7_7.65(w)/src/function.c Tue, 17 Dec 2002 22:44:08 -0600 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.14.1.2.1.2 660)
***************
*** 297,304 ****
{"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},
--- 297,304 ----
{"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_7.59/src/conf.c Sat, 07 Dec 2002 16:26:26 -0600 dunemush (pennmush/c/31_conf.c 1.41.2.3.1.3.1.2.1.20 660)
--- 1_7_7.65(w)/src/conf.c Tue, 17 Dec 2002 22:44:07 -0600 dunemush (pennmush/c/31_conf.c 1.41.2.3.1.3.1.2.1.15.1.1.1.2 660)
***************
*** 932,937 ****
--- 932,938 ----
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_7.59/src/comp_w.c Sun, 01 Dec 2002 21:14:41 -0600 dunemush (pennmush/c/33_comp_w.c 1.12 660)
--- 1_7_7.65(w)/src/comp_w.c Tue, 17 Dec 2002 22:44:07 -0600 dunemush (pennmush/c/33_comp_w.c 1.13 660)
***************
*** 127,133 ****
#include "confmagic.h"
#define MAXTABLE 32768
! #define MAXWORD 100
#define COLLISION_LIMIT 20
#define COMPRESS_HASH_MASK 0x7FFF /* 32767 */
--- 127,133 ----
#include "confmagic.h"
#define MAXTABLE 32768
! #define MAXWORDS 100
#define COLLISION_LIMIT 20
#define COMPRESS_HASH_MASK 0x7FFF /* 32767 */
***************
*** 142,148 ****
/* The word we are currently compressing */
! static char word[MAXWORD + 2];
static size_t wordpos = 0;
/* Stats */
--- 142,148 ----
/* The word we are currently compressing */
! static char word[MAXWORDS + 2];
static size_t wordpos = 0;
/* Stats */
***************
*** 239,245 ****
/* break up input into words */
while (*p) {
! if (!(isdigit(*p) || isalpha(*p)) || wordpos >= MAXWORD) {
if (wordpos) {
word[wordpos++] = *p & 0x7F; /* add trailing punctuation */
output_previous_word();
--- 239,245 ----
/* break up input into words */
while (*p) {
! if (!(isdigit(*p) || isalpha(*p)) || wordpos >= MAXWORDS) {
if (wordpos) {
word[wordpos++] = *p & 0x7F; /* add trailing punctuation */
output_previous_word();
*** 1_7_7.59/src/comp_w8.c Sun, 01 Dec 2002 21:14:41 -0600 dunemush (pennmush/f/33_comp_w8.c 1.8 660)
--- 1_7_7.65(w)/src/comp_w8.c Tue, 17 Dec 2002 22:44:07 -0600 dunemush (pennmush/f/33_comp_w8.c 1.9 660)
***************
*** 128,134 ****
#include "confmagic.h"
#define MAXTABLE 32768
! #define MAXWORD 100
#define COLLISION_LIMIT 20
#define COMPRESS_HASH_MASK 0x7FFF /* 32767 */
--- 128,134 ----
#include "confmagic.h"
#define MAXTABLE 32768
! #define MAXWORDS 100
#define COLLISION_LIMIT 20
#define COMPRESS_HASH_MASK 0x7FFF /* 32767 */
***************
*** 144,150 ****
/* The word we are currently compressing */
! static char word[MAXWORD + 2];
static size_t wordpos = 0;
/* Stats */
--- 144,150 ----
/* The word we are currently compressing */
! static char word[MAXWORDS + 2];
static size_t wordpos = 0;
/* Stats */
***************
*** 243,249 ****
/* break up input into words */
while (*p) {
! if (!(isdigit(*p) || isalpha(*p)) || wordpos >= MAXWORD) {
if (wordpos) {
word[wordpos++] = *p; /* add trailing punctuation */
output_previous_word();
--- 243,249 ----
/* break up input into words */
while (*p) {
! if (!(isdigit(*p) || isalpha(*p)) || wordpos >= MAXWORDS) {
if (wordpos) {
word[wordpos++] = *p; /* add trailing punctuation */
output_previous_word();
*** 1_7_7.59/src/bsd.c Thu, 12 Dec 2002 21:23:20 -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.3 660)
--- 1_7_7.65(w)/src/bsd.c Tue, 17 Dec 2002 22:44:07 -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.4 660)
***************
*** 371,401 ****
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)
! NORETURN;
! void WIN32_CDECL signal_shutdown(int sig);
! void WIN32_CDECL signal_dump(int sig);
! void reaper(int sig);
! extern Pid_t forked_dump_pid;
! 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(void)
{
/* Unlimit file descriptors. */
/* Ultrix 4.4 and others may have getrlimit but may not be able to
--- 371,399 ----
void parse_connect(const char *msg, char *command, char *user, char *pass);
void close_sockets(void);
dbref find_player_by_desc(int port);
! void NORETURN bailout(int sig);
! void WIN32_CDECL signal_shutdown(int sig);
! void WIN32_CDECL signal_dump(int sig);
! void reaper(int sig);
! extern Pid_t forked_dump_pid;
! 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(void)
{
/* Unlimit file descriptors. */
/* Ultrix 4.4 and others may have getrlimit but may not be able to
*** 1_7_7.59/hdrs/version.h Thu, 12 Dec 2002 21:23:20 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.19 660)
--- 1_7_7.65(w)/hdrs/version.h Tue, 17 Dec 2002 22:44:13 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.3 660)
***************
*** 1,2 ****
! #define VERSION "PennMUSH version 1.7.7 patchlevel 0 [12/8/2002]"
! #define SHORTVN "PennMUSH 1.7.7p0"
--- 1,2 ----
! #define VERSION "PennMUSH version 1.7.7 patchlevel 1 [12/17/2002]"
! #define SHORTVN "PennMUSH 1.7.7p1"
*** 1_7_7.59/hdrs/game.h Mon, 02 Dec 2002 18:48:13 -0600 dunemush (pennmush/d/12_game.h 1.28.1.2.1.1.1.1.1.1.1.10 660)
--- 1_7_7.65(w)/hdrs/game.h Tue, 17 Dec 2002 22:44:12 -0600 dunemush (pennmush/d/12_game.h 1.28.1.2.1.1.1.1.1.1.1.11 660)
***************
*** 151,168 ****
int type);
extern void do_chownall
(dbref player, const char *name, const char *target, int preserve);
! extern void
! do_reboot(dbref player, int flag)
! NORETURN;
/* From destroy.c */
! extern void do_dbck(dbref player);
! extern void do_destroy(dbref player, char *name, int confirm);
/* From timer.c */
! extern void init_timer(void);
/* From version.c */
! extern void do_version(dbref player);
#endif /* __GAME_H */
--- 151,166 ----
int type);
extern void do_chownall
(dbref player, const char *name, const char *target, int preserve);
! extern void NORETURN do_reboot(dbref player, int flag);
/* From destroy.c */
! extern void do_dbck(dbref player);
! extern void do_destroy(dbref player, char *name, int confirm);
/* From timer.c */
! extern void init_timer(void);
/* From version.c */
! extern void do_version(dbref player);
#endif /* __GAME_H */
*** 1_7_7.59/hdrs/externs.h Sat, 07 Dec 2002 16:26:26 -0600 dunemush (pennmush/d/16_externs.h 1.1.1.53.1.2.1.8.2.1.1.2.1.1.1.1.1.2.1.6.1.3.1.4.2.3 660)
--- 1_7_7.65(w)/hdrs/externs.h Tue, 17 Dec 2002 22:44:12 -0600 dunemush (pennmush/d/16_externs.h 1.1.1.53.1.2.1.8.2.1.1.2.1.1.1.1.1.2.1.6.1.3.1.4.2.4 660)
***************
*** 53,82 ****
extern int init_game_dbs(void);
extern void init_game_config(const char *conf);
extern void dump_database(void);
! extern void
! panic(const char *message)
! NORETURN;
#ifdef WIN32
/* From timer.c */
! extern void init_timer(void);
! extern void kill_timer(void);
#endif /* WIN32 */
/* From bsd.c */
! extern FILE *connlog_fp;
! extern FILE *checklog_fp;
! extern FILE *wizlog_fp;
! extern FILE *tracelog_fp;
! extern FILE *cmdlog_fp;
! extern int restarting;
#ifdef SUN_OS
! extern int f_close(FILE * file);
#define fclose(f) f_close(f);
#endif
! extern int hidden(dbref player);
! void dump_reboot_db(void);
/* The #defs for our notify_anything hacks.. Errr. Functions */
#define NA_NORELAY 0x0001
--- 53,80 ----
extern int init_game_dbs(void);
extern void init_game_config(const char *conf);
extern void dump_database(void);
! extern void NORETURN panic(const char *message);
#ifdef WIN32
/* From timer.c */
! extern void init_timer(void);
! extern void kill_timer(void);
#endif /* WIN32 */
/* From bsd.c */
! extern FILE *connlog_fp;
! extern FILE *checklog_fp;
! extern FILE *wizlog_fp;
! extern FILE *tracelog_fp;
! extern FILE *cmdlog_fp;
! extern int restarting;
#ifdef SUN_OS
! extern int f_close(FILE * file);
#define fclose(f) f_close(f);
#endif
! extern int hidden(dbref player);
! void dump_reboot_db(void);
/* The #defs for our notify_anything hacks.. Errr. Functions */
#define NA_NORELAY 0x0001
***************
*** 89,110 ****
#define NA_MUST_PUPPET 0x0100 /* Ok to puppet even in same room */
! typedef dbref (*na_lookup) (dbref, void *);
! extern void notify_anything(dbref speaker, na_lookup func,
! void *fdata,
! char *(*nsfunc) (dbref,
! na_lookup func,
! void *, int), int flags,
! const char *message);
! extern dbref na_one(dbref current, void *data);
! extern dbref na_next(dbref current, void *data);
! extern dbref na_loc(dbref current, void *data);
! extern dbref na_nextbut(dbref current, void *data);
! extern dbref na_except(dbref current, void *data);
! extern dbref na_except2(dbref current, void *data);
! extern dbref na_exceptN(dbref current, void *data);
#ifdef CHAT_SYSTEM
! extern dbref na_channel(dbref current, void *data);
#endif
#define notify(p,m) notify_anything(orator, na_one, &(p), NULL, 0, m)
--- 87,108 ----
#define NA_MUST_PUPPET 0x0100 /* Ok to puppet even in same room */
! typedef dbref (*na_lookup) (dbref, void *);
! extern void notify_anything(dbref speaker, na_lookup func,
! void *fdata,
! char *(*nsfunc) (dbref,
! na_lookup func,
! void *, int), int flags,
! const char *message);
! extern dbref na_one(dbref current, void *data);
! extern dbref na_next(dbref current, void *data);
! extern dbref na_loc(dbref current, void *data);
! extern dbref na_nextbut(dbref current, void *data);
! extern dbref na_except(dbref current, void *data);
! extern dbref na_except2(dbref current, void *data);
! extern dbref na_exceptN(dbref current, void *data);
#ifdef CHAT_SYSTEM
! extern dbref na_channel(dbref current, void *data);
#endif
#define notify(p,m) notify_anything(orator, na_one, &(p), NULL, 0, m)
***************
*** 112,118 ****
#define notify_by(t,p,m) notify_anything(t, na_one, &(p), NULL, 0, m)
#define notify_noecho(p,m) notify_anything(orator, na_one, &(p), NULL, NA_NORELAY | NA_PUPPET, m)
#define quiet_notify(p,m) if (!IsQuiet(p)) notify(p,m)
! extern void notify_format(dbref player, const char *fmt, ...)
__attribute__ ((__format__(__printf__, 2, 3)));
/* From compress.c */
--- 110,116 ----
#define notify_by(t,p,m) notify_anything(t, na_one, &(p), NULL, 0, m)
#define notify_noecho(p,m) notify_anything(orator, na_one, &(p), NULL, NA_NORELAY | NA_PUPPET, m)
#define quiet_notify(p,m) if (!IsQuiet(p)) notify(p,m)
! extern void notify_format(dbref player, const char *fmt, ...)
__attribute__ ((__format__(__printf__, 2, 3)));
/* From compress.c */
***************
*** 121,131 ****
*/
/* #define COMP_STATS /* */
#if (COMPRESSION_TYPE != 0)
! extern unsigned char *compress(char const *s) __attribute_malloc__;
extern char *uncompress(unsigned char const *s);
extern char *safe_uncompress(unsigned char const *s) __attribute_malloc__;
#else
! extern char ucbuff[];
#define init_compress(f) 0
#define compress(s) ((unsigned char *)strdup(s))
#define uncompress(s) (strcpy(ucbuff, (char *) s))
--- 119,131 ----
*/
/* #define COMP_STATS /* */
#if (COMPRESSION_TYPE != 0)
! extern unsigned char *
! compress(char const *s)
! __attribute_malloc__;
extern char *uncompress(unsigned char const *s);
extern char *safe_uncompress(unsigned char const *s) __attribute_malloc__;
#else
! extern char ucbuff[];
#define init_compress(f) 0
#define compress(s) ((unsigned char *)strdup(s))
#define uncompress(s) (strcpy(ucbuff, (char *) s))
***************
*** 133,285 ****
#endif
/* From cque.c */
! extern char *wenv[10], renv[NUMQ][BUFFER_LEN];
! extern char *wnxt[10], *rnxt[NUMQ];
! extern void do_second(void);
! extern int do_top(int ncom);
! extern void do_halt(dbref owner, const char *ncom, dbref victim);
! extern void parse_que(dbref player, const char *command, dbref cause);
! extern int queue_attribute_base
! (dbref executor, const char *atrname, dbref enactor, int noparent);
#define queue_attribute(a,b,c) queue_attribute_base(a,b,c,0)
#define queue_attribute_noparent(a,b,c) queue_attribute_base(a,b,c,1)
! extern void dequeue_semaphores(dbref thing, char const *aname, int count,
! int all, int drain);
/* From create.c */
! extern dbref do_dig(dbref player, const char *name, char **argv, int tport);
! extern dbref do_create(dbref player, char *name, int cost);
! extern dbref do_real_open(dbref player, const char *direction,
! const char *linkto, dbref pseudo);
! extern void do_open(dbref player, const char *direction, char **links);
! extern void do_link(dbref player, const char *name, const char *room_name,
! int preserve);
! extern void do_unlink(dbref player, const char *name);
! extern dbref do_clone(dbref player, char *name, char *newname,
! int preserve);
/* From game.c */
! extern void report(void);
! extern int Hearer(dbref thing);
! extern int Commer(dbref thing);
! extern int Listener(dbref thing);
! extern dbref orator;
! int parse_chat(dbref player, char *command);
! extern void fork_and_dump(int forking);
/* From look.c */
! extern void look_room(dbref player, dbref loc, int flag);
! extern void do_look_around(dbref player);
! extern void do_look_at(dbref player, const char *name, int key);
/* From move.c */
! extern void enter_room(dbref player, dbref loc, int nomovemsgs);
! extern int can_move(dbref player, const char *direction);
! extern void do_move(dbref player, const char *direction, int type);
! extern void moveto(dbref what, dbref where);
! extern void safe_tel(dbref player, dbref dest, int nomovemsgs);
! extern dbref global_exit(dbref player, const char *direction);
! extern dbref remote_exit(dbref loc, const char *direction);
! extern void move_wrapper(dbref player, const char *command);
! extern void do_follow(dbref player, const char *arg);
! extern void do_unfollow(dbref player, const char *arg);
! extern void do_desert(dbref player, const char *arg);
! extern void do_dismiss(dbref player, const char *arg);
! extern void clear_followers(dbref leader, int noisy);
! extern void clear_following(dbref follower, int noisy);
/* From mycrypt.c */
! extern char *mush_crypt(const char *key);
/* From player.c */
! extern int password_check(dbref player, const char *password);
! extern dbref lookup_player(const char *name);
/* from player.c */
! extern dbref create_player(const char *name, const char *password,
! const char *host, const char *ip);
! extern dbref connect_player(const char *name, const char *password,
! const char *host, const char *ip);
! extern void check_last(dbref player, const char *host, const char *ip);
! extern void check_lastfailed(dbref player, const char *host);
/* From parse.c */
! extern int is_number(const char *str);
! extern int is_strict_number(const char *str);
! extern int is_strict_integer(const char *str);
/* From plyrlist.c */
! void clear_players(void);
! void add_player(dbref player, const char *alias);
! void delete_player(dbref player, const char *alias);
/* From predicat.c */
! extern char *WIN32_CDECL tprintf(const char *fmt, ...)
__attribute__ ((__format__(__printf__, 1, 2)));
! extern int could_doit(dbref player, dbref thing);
! extern void did_it(dbref player, dbref thing, const char *what,
! const char *def, const char *owhat, const char *odef,
! const char *awhat, dbref loc);
! extern void real_did_it(dbref player, dbref thing, const char *what,
! const char *def, const char *owhat,
! const char *odef, const char *awhat, dbref loc,
! char *myenv[10]);
! extern int can_see(dbref player, dbref thing, int can_see_loc);
! extern int controls(dbref who, dbref what);
! extern int can_pay_fees(dbref who, int pennies);
! extern void giveto(dbref who, dbref pennies);
! extern int payfor(dbref who, int cost);
! extern int nearby(dbref obj1, dbref obj2);
#ifdef QUOTA
! extern int get_current_quota(dbref who);
! extern void change_quota(dbref who, int payment);
#endif
! extern int ok_name(const char *name);
! extern int ok_command_name(const char *name);
! extern int ok_player_name(const char *name);
! extern int ok_password(const char *password);
! extern dbref parse_match_possessive(dbref player, const char *str);
! extern void page_return(dbref player, dbref target, const char *type,
! const char *message, const char *def);
! extern char *grep_util(dbref player, dbref thing, char *pattern,
! char *lookfor, int len, int insensitive);
! extern dbref where_is(dbref thing);
! extern int charge_action(dbref player, dbref thing, const char *awhat);
! dbref first_visible(dbref player, dbref thing);
/* From set.c */
! extern void chown_object(dbref player, dbref thing, dbref newowner,
! int preserve);
/* From speech.c */
! extern char *ns_esnotify(dbref speaker, na_lookup func, void *fdata,
! int para);
! extern void notify_except(dbref first, dbref exception, const char *msg);
! extern void notify_except2
! (dbref first, dbref exc1, dbref exc2, const char *msg);
/* Return thing/PREFIX + msg */
! extern void make_prefixstr(dbref thing, const char *msg, char *tbuf1);
! extern int filter_found(dbref thing, const char *msg, int flag);
/* From strutil.c */
! extern char *split_token(char **sp, char sep);
! extern char *chopstr(const char *str, size_t lim);
! extern int string_prefix(const char *RESTRICT string,
! const char *RESTRICT prefix);
! extern const char *string_match(const char *src, const char *sub);
! extern char *strupper(const char *s);
! extern char *strlower(const char *s);
! extern char *upcasestr(char *s);
! extern char *skip_space(const char *s);
! extern char *seek_char(const char *s, char c);
! extern int u_strlen(const unsigned char *s);
! extern unsigned char *u_strcpy
! (unsigned char *target, const unsigned char *source);
#define u_strdup(x) (unsigned char *)strdup((char *) x)
#ifndef HAS_STRDUP
! char *strdup(const char *s) __attribute_malloc__;
#endif
char *mush_strdup(const char *s, const char *check) __attribute_malloc__;
#ifdef WIN32
--- 133,285 ----
#endif
/* From cque.c */
! extern char *wenv[10], renv[NUMQ][BUFFER_LEN];
! extern char *wnxt[10], *rnxt[NUMQ];
! extern void do_second(void);
! extern int do_top(int ncom);
! extern void do_halt(dbref owner, const char *ncom, dbref victim);
! extern void parse_que(dbref player, const char *command, dbref cause);
! extern int queue_attribute_base
! (dbref executor, const char *atrname, dbref enactor, int noparent);
#define queue_attribute(a,b,c) queue_attribute_base(a,b,c,0)
#define queue_attribute_noparent(a,b,c) queue_attribute_base(a,b,c,1)
! extern void dequeue_semaphores(dbref thing, char const *aname, int count,
! int all, int drain);
/* From create.c */
! extern dbref do_dig(dbref player, const char *name, char **argv, int tport);
! extern dbref do_create(dbref player, char *name, int cost);
! extern dbref do_real_open(dbref player, const char *direction,
! const char *linkto, dbref pseudo);
! extern void do_open(dbref player, const char *direction, char **links);
! extern void do_link(dbref player, const char *name, const char *room_name,
! int preserve);
! extern void do_unlink(dbref player, const char *name);
! extern dbref do_clone(dbref player, char *name, char *newname, int preserve);
/* From game.c */
! extern void report(void);
! extern int Hearer(dbref thing);
! extern int Commer(dbref thing);
! extern int Listener(dbref thing);
! extern dbref orator;
! int parse_chat(dbref player, char *command);
! extern void fork_and_dump(int forking);
/* From look.c */
! extern void look_room(dbref player, dbref loc, int flag);
! extern void do_look_around(dbref player);
! extern void do_look_at(dbref player, const char *name, int key);
/* From move.c */
! extern void enter_room(dbref player, dbref loc, int nomovemsgs);
! extern int can_move(dbref player, const char *direction);
! extern void do_move(dbref player, const char *direction, int type);
! extern void moveto(dbref what, dbref where);
! extern void safe_tel(dbref player, dbref dest, int nomovemsgs);
! extern dbref global_exit(dbref player, const char *direction);
! extern dbref remote_exit(dbref loc, const char *direction);
! extern void move_wrapper(dbref player, const char *command);
! extern void do_follow(dbref player, const char *arg);
! extern void do_unfollow(dbref player, const char *arg);
! extern void do_desert(dbref player, const char *arg);
! extern void do_dismiss(dbref player, const char *arg);
! extern void clear_followers(dbref leader, int noisy);
! extern void clear_following(dbref follower, int noisy);
/* From mycrypt.c */
! extern char *mush_crypt(const char *key);
/* From player.c */
! extern int password_check(dbref player, const char *password);
! extern dbref lookup_player(const char *name);
/* from player.c */
! extern dbref create_player(const char *name, const char *password,
! const char *host, const char *ip);
! extern dbref connect_player(const char *name, const char *password,
! const char *host, const char *ip);
! extern void check_last(dbref player, const char *host, const char *ip);
! extern void check_lastfailed(dbref player, const char *host);
/* From parse.c */
! extern int is_number(const char *str);
! extern int is_strict_number(const char *str);
! extern int is_strict_integer(const char *str);
/* From plyrlist.c */
! void clear_players(void);
! void add_player(dbref player, const char *alias);
! void delete_player(dbref player, const char *alias);
/* From predicat.c */
! extern char *WIN32_CDECL tprintf(const char *fmt, ...)
__attribute__ ((__format__(__printf__, 1, 2)));
! extern int could_doit(dbref player, dbref thing);
! extern void did_it(dbref player, dbref thing, const char *what,
! const char *def, const char *owhat, const char *odef,
! const char *awhat, dbref loc);
! extern void real_did_it(dbref player, dbref thing, const char *what,
! const char *def, const char *owhat,
! const char *odef, const char *awhat, dbref loc,
! char *myenv[10]);
! extern int can_see(dbref player, dbref thing, int can_see_loc);
! extern int controls(dbref who, dbref what);
! extern int can_pay_fees(dbref who, int pennies);
! extern void giveto(dbref who, dbref pennies);
! extern int payfor(dbref who, int cost);
! extern int nearby(dbref obj1, dbref obj2);
#ifdef QUOTA
! extern int get_current_quota(dbref who);
! extern void change_quota(dbref who, int payment);
#endif
! extern int ok_name(const char *name);
! extern int ok_command_name(const char *name);
! extern int ok_player_name(const char *name);
! extern int ok_password(const char *password);
! extern dbref parse_match_possessive(dbref player, const char *str);
! extern void page_return(dbref player, dbref target, const char *type,
! const char *message, const char *def);
! extern char *grep_util(dbref player, dbref thing, char *pattern,
! char *lookfor, int len, int insensitive);
! extern dbref where_is(dbref thing);
! extern int charge_action(dbref player, dbref thing, const char *awhat);
! dbref first_visible(dbref player, dbref thing);
/* From set.c */
! extern void chown_object(dbref player, dbref thing, dbref newowner,
! int preserve);
/* From speech.c */
! extern char *ns_esnotify(dbref speaker, na_lookup func, void *fdata, int para);
! extern void notify_except(dbref first, dbref exception, const char *msg);
! extern void notify_except2
! (dbref first, dbref exc1, dbref exc2, const char *msg);
/* Return thing/PREFIX + msg */
! extern void make_prefixstr(dbref thing, const char *msg, char *tbuf1);
! extern int filter_found(dbref thing, const char *msg, int flag);
/* From strutil.c */
! extern char *split_token(char **sp, char sep);
! extern char *chopstr(const char *str, size_t lim);
! extern int string_prefix(const char *RESTRICT string,
! const char *RESTRICT prefix);
! extern const char *string_match(const char *src, const char *sub);
! extern char *strupper(const char *s);
! extern char *strlower(const char *s);
! extern char *upcasestr(char *s);
! extern char *skip_space(const char *s);
! extern char *seek_char(const char *s, char c);
! extern int u_strlen(const unsigned char *s);
! extern unsigned char *u_strcpy
! (unsigned char *target, const unsigned char *source);
#define u_strdup(x) (unsigned char *)strdup((char *) x)
#ifndef HAS_STRDUP
! char *
! strdup(const char *s)
! __attribute_malloc__;
#endif
char *mush_strdup(const char *s, const char *check) __attribute_malloc__;
#ifdef WIN32
*** 1_7_7.59/po/Makefile Wed, 13 Nov 2002 15:39:20 -0600 dunemush (pennmush/e/47_Makefile 1.10 660)
--- 1_7_7.65(w)/po/Makefile Tue, 17 Dec 2002 22:39:16 -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
*** 1_7_7.59/hdrs/mushtype.h Sat, 07 Dec 2002 16:26:26 -0600 dunemush (pennmush/f/20_mushtype.h 1.2.1.1.1.5 660)
--- 1_7_7.65(w)/hdrs/mushtype.h Tue, 17 Dec 2002 22:44:12 -0600 dunemush (pennmush/f/20_mushtype.h 1.2.1.1.1.6 660)
***************
*** 3,8 ****
--- 3,11 ----
#include "copyrite.h"
#include "options.h"
#include <stdio.h>
+ #ifdef WIN32
+ #include <windows.h>
+ #endif
#ifdef HAS_OPENSSL
#include <openssl/ssl.h>
#endif
More information about the Pennmush-announce
mailing list