Changeset 557
- Timestamp:
- 11/16/06 04:36:30 (2 years ago)
- Files:
-
- 1.8.2/trunk (modified) (1 prop)
- 1.8.2/trunk/BUGS (modified) (1 diff)
- 1.8.2/trunk/CHANGES.174 (modified) (1 diff)
- 1.8.2/trunk/CHANGES.175 (modified) (1 diff)
- 1.8.2/trunk/CHANGES.176 (modified) (1 diff)
- 1.8.2/trunk/CHANGES.177 (modified) (1 diff)
- 1.8.2/trunk/CHANGES.180 (modified) (1 diff)
- 1.8.2/trunk/CHANGES.181 (modified) (1 diff)
- 1.8.2/trunk/CHANGES.182 (copied) (copied from 1.8.2/branches/devel/CHANGES.182)
- 1.8.2/trunk/CHANGES.OLD (modified) (1 diff)
- 1.8.2/trunk/FAQ (modified) (5 diffs)
- 1.8.2/trunk/Makefile.SH (modified) (1 diff)
- 1.8.2/trunk/Patchlevel (modified) (1 diff)
- 1.8.2/trunk/README (modified) (7 diffs)
- 1.8.2/trunk/game (modified) (1 prop)
- 1.8.2/trunk/game/data (modified) (1 prop)
- 1.8.2/trunk/game/log (modified) (1 prop)
- 1.8.2/trunk/game/restart (modified) (1 diff)
- 1.8.2/trunk/game/save (modified) (1 prop)
- 1.8.2/trunk/game/txt (modified) (1 prop)
- 1.8.2/trunk/game/txt/evt (modified) (1 prop)
- 1.8.2/trunk/game/txt/hlp (modified) (1 prop)
- 1.8.2/trunk/game/txt/hlp/index.hlp (deleted)
- 1.8.2/trunk/game/txt/hlp/penntop.hlp (modified) (1 diff)
- 1.8.2/trunk/game/txt/hlp/pennv181.hlp (modified) (1 diff)
- 1.8.2/trunk/game/txt/hlp/pennv182.hlp (copied) (copied from 1.8.2/branches/devel/game/txt/hlp/pennv182.hlp)
- 1.8.2/trunk/game/txt/nws (modified) (1 prop)
- 1.8.2/trunk/hdrs (modified) (1 prop)
- 1.8.2/trunk/hdrs/htab.h (modified) (2 diffs)
- 1.8.2/trunk/hdrs/version.h (modified) (1 diff)
- 1.8.2/trunk/hints (modified) (1 prop)
- 1.8.2/trunk/os2 (modified) (1 prop)
- 1.8.2/trunk/po (modified) (1 prop)
- 1.8.2/trunk/src (modified) (1 prop)
- 1.8.2/trunk/src/boolexp.c (modified) (1 diff)
- 1.8.2/trunk/src/bsd.c (modified) (2 diffs)
- 1.8.2/trunk/src/conf.c (modified) (1 diff)
- 1.8.2/trunk/src/db.c (modified) (6 diffs)
- 1.8.2/trunk/src/flags.c (modified) (2 diffs)
- 1.8.2/trunk/src/function.c (modified) (3 diffs)
- 1.8.2/trunk/src/fundb.c (modified) (1 diff)
- 1.8.2/trunk/src/funlist.c (modified) (1 diff)
- 1.8.2/trunk/src/htab.c (modified) (1 diff)
- 1.8.2/trunk/src/look.c (modified) (7 diffs)
- 1.8.2/trunk/src/plyrlist.c (modified) (2 diffs)
- 1.8.2/trunk/src/sig.c (modified) (1 diff)
- 1.8.2/trunk/test (modified) (1 prop)
- 1.8.2/trunk/utils (modified) (1 prop)
- 1.8.2/trunk/utils/mkcmds.sh.SH (modified) (2 diffs)
- 1.8.2/trunk/win32 (modified) (1 prop)
- 1.8.2/trunk/win32/README.txt (modified) (2 diffs)
- 1.8.2/trunk/win32/README_MySQL.txt (modified) (2 diffs)
- 1.8.2/trunk/win32/cmds.h (modified) (1 diff)
- 1.8.2/trunk/win32/msvc.net (modified) (1 prop)
- 1.8.2/trunk/win32/msvc.net/pennmush.sln (modified) (1 diff)
- 1.8.2/trunk/win32/msvc.net/pennmush.vcproj (modified) (5 diffs)
- 1.8.2/trunk/win32/msvc6 (modified) (1 prop)
- 1.8.2/trunk/win32/msvc6/pennmush.dsp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
1.8.2/trunk
- Property svn:ignore set to
.config
config.h
config.sh
ignore
Makefile
options.h
- Property svn:ignore set to
1.8.2/trunk/BUGS
r355 r557 1 Bugs that aren't our fault, but might bite people with old compilers:1 Bugs that aren't our fault, but might bite people: 2 2 3 Modern: 4 5 * You might experience crashes because the default executable stack 6 size is too small. An 8 megabyte stack is more than ample. On unix, it 7 can be raised with 'ulimit -s 8192'. On Windows, you must use the editbin 8 progam that comes with MS development environments to raise the stack on a 9 per-executable basis, via 'editbin /STACK:8388608 netmush.exe' 10 11 12 Ancient: 3 13 * Ralph Melton reports that compiling with gcc 2.5.8 under SunOS 4.1.1 4 14 using -O optimization and forking dumps causes the dump process to 1.8.2/trunk/CHANGES.174
r355 r557 1 2 This is the most current changes file for PennMUSH. Please look it 3 over; each version contains new things which might significantly affect 4 the function of your server. Changes are reported in reverse 1 This is the changes file for PennMUSH 1.7.4. Please look it over; each 2 version contains new things which might significantly affect the 3 function of your server. Changes are reported in reverse 5 4 chronological order (most recent first) 6 5 1.8.2/trunk/CHANGES.175
r399 r557 1 2 This is the most current changes file for PennMUSH. Please look it 3 over; each version contains new things which might significantly affect 4 the function of your server. Changes are reported in reverse 1 This is the changes file for PennMUSH 1.7.5. Please look it over; each 2 version contains new things which might significantly affect the 3 function of your server. Changes are reported in reverse 5 4 chronological order (most recent first) 6 5 1.8.2/trunk/CHANGES.176
r457 r557 1 This is the changes file for PennMUSH 1.7.6. Please look it over; each 2 version contains new things which might significantly affect the 3 function of your server. Changes are reported in reverse 4 chronological order (most recent first) 1 5 2 6 [TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian) 1.8.2/trunk/CHANGES.177
r479 r557 1 2 This is the most current changes file for PennMUSH. Please look it 3 over; each version contains new things which might significantly affect 4 the function of your server. Changes are reported in reverse 1 This is the changes file for PennMUSH 1.7.7. Please look it over; each 2 version contains new things which might significantly affect the 3 function of your server. Changes are reported in reverse 5 4 chronological order (most recent first) 6 5 1.8.2/trunk/CHANGES.180
r529 r557 1 2 This is the most current changes file for PennMUSH. Please look it 3 over; each version contains new things which might significantly affect 4 the function of your server. Changes are reported in reverse 1 This is the changes file for PennMUSH 1.8.0. Please look it over; each 2 version contains new things which might significantly affect the 3 function of your server. Changes are reported in reverse 5 4 chronological order (most recent first) 6 5 1.8.2/trunk/CHANGES.181
r531 r557 1 2 This is the most current changes file for PennMUSH. Please look it 3 over; each version contains new things which might significantly affect 4 the function of your server. Changes are reported in reverse 1 This is the changes file for PennMUSH 1.8.1. Please look it over; each 2 version contains new things which might significantly affect the 3 function of your server. Changes are reported in reverse 5 4 chronological order (most recent first) 6 5 1.8.2/trunk/CHANGES.OLD
r467 r557 1 1 This is the old changes file for PennMUSH. Changes are reported in reverse 2 chronological order (more recent first) 2 chronological order (more recent first.) Starting with 1.7.4, each minor 3 version has its own changelog, in CHANGES.174 and so on. 3 4 4 5 [TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian) 1.8.2/trunk/FAQ
r525 r557 1 1 Frequently asked questions about the PennMUSH Server, post-pl10 2 Updated: November 11, 200 22 Updated: November 11, 2006 3 3 4 4 *** There are other FAQs on the web at: 5 5 *** http://www.pennmush.org/cgi-penn/fom/ 6 *** http://services.pennmush.org/faq.html7 6 8 7 0. What's the release history since 1.50pl10? … … 15 14 7. Compiling with the lcc compiler. 16 15 8. Patch information in @version and INFO 16 9. Which signals does PennMUSH understand? 17 17 18 18 ----------------------------- … … 38 38 39 39 Currently, the active development team is Javelin, Talek, Raevnos, 40 Noltar, and Walker. The stable version is 1.8. 0, and the development41 version is 1.8. 1.40 Noltar, and Walker. The stable version is 1.8.2, and the development 41 version is 1.8.3. 42 42 43 43 1. How do I ask for help with a problem? … … 66 66 the bug, send it along. If you don't, and the bug caused a crash with 67 67 a core dump, you can send along a stack trace (see #6 if you don't know 68 how to do this). 68 how to do this). 69 69 70 70 Bugs are patched as quickly as possible. Patches for bugs are … … 147 147 make. 148 148 149 9. Which signals does PennMUSH understand? 149 150 151 PennMUSH understands the following signals, and performs the listed action: 152 153 -HUP Performs a silent @readcache 154 -USR1 Performs an @shutdown/reboot 155 -USR2 Performs an @dump 156 -INT Performs an @shutdown 157 -TERM Performs an @shutdown/panic 1.8.2/trunk/Makefile.SH
r527 r557 257 257 @prcs checkin 258 258 259 commit: indent 260 @svn commit 261 259 262 patch: versions 260 263 @make-patch-header 1.8.2/trunk/Patchlevel
r531 r557 1 1 Do not edit this file. It is maintained by the official PennMUSH patches. 2 This is PennMUSH 1.8. 1p102 This is PennMUSH 1.8.2p0 1.8.2/trunk/README
r525 r557 20 20 or by ftp from pennmush.org, /pub/PennMUSH/Guide 21 21 ============================================================================ 22 22 23 23 I. Introduction and history 24 24 25 25 PennMUSH uses a version-numbering system that includes version 26 26 numbers (like 1.7.2) and patchlevels (like p32), usually written 27 together (1.7.2p32). 27 together (1.7.2p32). 28 28 29 29 Starting with 1.7.2, version numbers that are even (like 1.7.2) are … … 62 62 63 63 In January of 1995, Amberyl passed on her mantle to Javelin (aka 64 Paul@Dune, Alan Schwartz), who is now the maintainer of the primary65 p ublic distribution in development. He released two patchlevels64 Paul@Dune, Alan Schwartz), who continuted as the maintainer of the 65 primary public distribution in development. He released two patchlevels 66 66 numbered "dune-1" and "dune-2" before releasing PennMUSH 1.50 pl11 and 67 67 later distributions. The numbering scheme changed again with PennMUSH … … 87 87 facilitate code sharing and widen use. 88 88 89 In July 2006, Javelin retired from the role of Maintainer, passing the 90 mantle of lead developer to Raevnos and that of release management to 91 Ervin Hearn (Noltar). Many thanks go to Javelin whose contributions and 92 guidance of PennMUSH have shaped it into the codebase that it is today. 93 89 94 A MUSH manual should be available at ftp.digex.net, ftp.math.okstate.edu, 90 95 primerd.prime.com, or from wherever you got this code from. The manual … … 127 132 at http://www.pennmush.org/mailman/listinfo/pennmush-announce) 128 133 129 2. pennmush-bugs@pennmush.org is the bug reporting address 134 2. pennmush-bugs@pennmush.org is the bug reporting address 130 135 for the PennMUSH developers (suggestions go to pennmush-developers, 131 136 bugs to pennmush-bugs). This will generally give you the fastest … … 141 146 4. The compiler and compiler version (gcc 2.4.5, SGI cc 2.10, etc. -- the 142 147 'file' command usually tells you the compiler version, if there's no 143 built-in option like '-v' or '-V' to give it), 148 built-in option like '-v' or '-V' to give it), 144 149 5. Whether or not you have made any changes to the code. 145 150 … … 161 166 162 167 NOTE: A hostname is not the same thing as a site. We don't have accounts 163 for you to run your MUSH from. You must already have your MUSH 168 for you to run your MUSH from. You must already have your MUSH 164 169 running at someplace.edu or whatever -- we just provide a nice hostname 165 170 that will resolve into your current site's IP address. 166 171 167 How do you get a pennmush.org hostname? Go to 168 http:// lists.pennmush.org/pennmush.html, and follow the instructions.172 How do you get a pennmush.org hostname? Go to 173 http://services.pennmush.org/, and follow the instructions. 169 174 It may take a day or two before the hostname will work. 170 175 … … 175 180 176 181 IV. Comments 177 182 178 183 IV.a. Amberyl's Comments 179 184 180 185 These are in the first person. :) 181 186 182 187 I've been working with this code for a year and a quarter now. I can't 183 188 claim that it's particularly elegant or inspired; all I can say is that 1.8.2/trunk/game
- Property svn:ignore set to
*.cnf
ignore
netmush
info_slave
- Property svn:ignore set to
1.8.2/trunk/game/data
- Property svn:ignore set to
chunkswap
ignore
chatdb.gz
maildb.gz
outdb.gz
- Property svn:ignore set to
1.8.2/trunk/game/log
- Property svn:ignore set to
wizard.log
checkpt.log
ignore
netmush.log
connect.log
trace.log
command.log
- Property svn:ignore set to
1.8.2/trunk/game/restart
r531 r557 5 5 # REQUIRED: You must set this to the path to your game directory. 6 6 # E.g.: /home/mush/game 7 GAMEDIR= 7 GAMEDIR=`dirname $0` 8 8 9 9 # OPTIONAL things that you may want to tweak. 1.8.2/trunk/game/save
- Property svn:ignore set to
- Property svn:ignore set to
1.8.2/trunk/game/txt
- Property svn:ignore set to
events.txt
ignore
news.txt
help.txt
compose.sh
- Property svn:ignore set to
1.8.2/trunk/game/txt/evt
- Property svn:ignore set to
- Property svn:ignore set to
1.8.2/trunk/game/txt/hlp
- Property svn:ignore set to
index.hlp
- Property svn:ignore set to
1.8.2/trunk/game/txt/hlp/penntop.hlp
r531 r557 107 107 Action lists are simply lists of actions that are all executed at once. 108 108 You can have an action list in a user-defined command, in one of the 109 a-attributes, or in many other commands. 110 111 Actions in an action list are separated by semicolons. Each action is 109 a-attributes, or in many other commands. Action lists may not be 110 executed directly from a client, except in the case of a command 111 which forces a re-insertion into the queue such as @switch or 112 @dolist. 113 114 Actions in an action list are separated by semicolons. Each action is 112 115 simply a separate MUSH command. If part of the action (such as the text 113 116 in an @emit, for example) contains a semi-colon or comma, you may need 1.8.2/trunk/game/txt/hlp/pennv181.hlp
r531 r557 1 1 & 1.8.1p10 2 & changes3 This is a list of changes in this patchlevel which are probably of4 interest to players. More information about new commands and functions5 can probably be gotten via 'help <name of whatever>'. 'help credits'6 lists the [initials] of developers and porters that are used in the list7 of changes.8 9 Information about changes in prior releases can be found under10 help topics named for each release (e.g. 'help 1.7.2p30').11 A list of the patchlevels associated with each release can12 be read in 'help patchlevels'.13 14 2 Version 1.8.1 patchlevel 10 September 13, 2006 15 3 1.8.2/trunk/game/txt/nws
- Property svn:ignore set to
- Property svn:ignore set to
1.8.2/trunk/hdrs
- Property svn:ignore set to
buildinf.h
funs.h
cmds.h
patches.h
ignore
- Property svn:ignore set to
1.8.2/trunk/hdrs/htab.h
r531 r557 30 30 HASHENT *last_entry; /**< State for hashfirst & hashnext. */ 31 31 int entry_size; /**< Size of each entry */ 32 void (*free_data) (void*);/**< Function to call on data when deleting33 a entry. */32 void (*free_data) (void *); /**< Function to call on data when deleting 33 a entry. */ 34 34 }; 35 35 … … 43 43 #define hashfree(tab) hash_flush(tab, 0) 44 44 extern int hash_getmask(int *size); 45 extern void hash_init(HASHTAB *htab, int size, int data_size, void (*)(void *));45 extern void hash_init(HASHTAB *htab, int size, int data_size, void (*)(void *)); 46 46 extern HASHENT *hash_find(HASHTAB *htab, const char *key); 47 47 extern void *hash_value(HASHENT *entry); 1.8.2/trunk/hdrs/version.h
r531 r557 1 #define VERSION "1.8. 1"2 #define PATCHLEVEL " 10"3 #define PATCHDATE "[ 09/13/2006]"4 #define NUMVERSION 100800 10101 #define VERSION "1.8.2" 2 #define PATCHLEVEL "0" 3 #define PATCHDATE "[11/18/2006]" 4 #define NUMVERSION 1008002000 1.8.2/trunk/hints
- Property svn:ignore set to
- Property svn:ignore set to
1.8.2/trunk/os2
- Property svn:ignore set to
- Property svn:ignore set to
1.8.2/trunk/po
- Property svn:ignore set to
- Property svn:ignore set to
1.8.2/trunk/src
- Property svn:ignore set to
info_slave
netmud
flaglocal.c
local.c
Makefile
cmdlocal.c
ignore
funlocal.c
- Property svn:ignore set to
1.8.2/trunk/src/boolexp.c
r531 r557 589 589 590 590 r = 0; 591 a = atr_get(target, (char *) bytecode + arg);591 a = atr_get(target, (char *) bytecode + arg); 592 592 if (!a) 593 593 break; 1.8.2/trunk/src/bsd.c
r531 r557 3671 3671 notify_format(player, 3672 3672 T("Doing set. %d characters lost."), 3673 (int) strlen(message) - (DOING_LEN - 1));3673 (int) strlen(message) - (DOING_LEN - 1)); 3674 3674 } else 3675 3675 notify(player, T("Doing set.")); … … 3718 3718 notify_format(player, 3719 3719 T("Poll set to '%s'. %d characters lost."), poll_msg, 3720 (int) strlen(message) - (DOING_LEN - 1));3720 (int) strlen(message) - (DOING_LEN - 1)); 3721 3721 } else 3722 3722 notify_format(player, T("Poll set to: %s"), poll_msg); 1.8.2/trunk/src/conf.c
r531 r557 174 174 {"ssl_ip_addr", cf_str, options.ssl_ip_addr, 64, 0, "net"} 175 175 , 176 {"port", cf_int, &options.port, 32000, 0, "net"}177 , 178 {"ssl_port", cf_int, &options.ssl_port, 32000, 0, "net"}176 {"port", cf_int, &options.port, 65535, 0, "net"} 177 , 178 {"ssl_port", cf_int, &options.ssl_port, 65535, 0, "net"} 179 179 , 180 180 {"use_dns", cf_bool, &options.use_dns, 2, 0, "net"} 1.8.2/trunk/src/db.c
r531 r557 84 84 int get_list(FILE * f, dbref i); 85 85 void db_free(void); 86 static void init_objdata_htab(int size, void (*free_data)(void*));86 static void init_objdata_htab(int size, void (*free_data) (void *)); 87 87 static void db_write_flags(FILE * f); 88 88 static dbref db_read_oldstyle(FILE * f); … … 1019 1019 ungetc(c, f); 1020 1020 1021 if (c != ' ') 1021 if (c != ' ') 1022 1022 break; 1023 1023 … … 1042 1042 } 1043 1043 1044 if (found != count) 1044 if (found != count) 1045 1045 do_rawlog(LT_ERR, 1046 T("WARNING: Actual lock count (%d) different from expected count (%d)."), 1047 found, count); 1046 T 1047 ("WARNING: Actual lock count (%d) different from expected count (%d)."), 1048 found, count); 1048 1049 1049 1050 } … … 1229 1230 c = fgetc(f); 1230 1231 ungetc(c, f); 1231 1232 1232 1233 if (c != ' ') 1233 1234 break; … … 1246 1247 } 1247 1248 1248 if (found != count) 1249 if (found != count) 1249 1250 do_rawlog(LT_ERR, 1250 T("WARNING: Actual attribute count (%d) different than expected count (%d)."), 1251 found, count); 1251 T 1252 ("WARNING: Actual attribute count (%d) different than expected count (%d)."), 1253 found, count); 1252 1254 1253 1255 } … … 1731 1733 1732 1734 static void 1733 init_objdata_htab(int size, void (*free_data) (void*))1735 init_objdata_htab(int size, void (*free_data) (void *)) 1734 1736 { 1735 1737 hash_init(&htab_objdata, size, 4, free_data); 1.8.2/trunk/src/flags.c
r531 r557 662 662 } 663 663 664 if (found != count) 664 if (found != count) 665 665 do_rawlog(LT_ERR, 666 T("WARNING: Actual number of flags (%d) different than expected count (%d)."), 667 found, count); 666 T 667 ("WARNING: Actual number of flags (%d) different than expected count (%d)."), 668 found, count); 668 669 669 670 /* Assumes we'll always have at least one alias */ 670 db_read_this_labeled_number(in, "flagaliascount", &count); 671 for (found = 0 ;;) {671 db_read_this_labeled_number(in, "flagaliascount", &count); 672 for (found = 0;;) { 672 673 int c; 673 674 674 675 c = fgetc(in); 675 676 ungetc(c, in); … … 683 684 flag_add(n, alias, f); 684 685 } 685 if (found != count) 686 if (found != count) 686 687 do_rawlog(LT_ERR, 687 T("WARNING: Actual number of flag aliases (%d) different than expected count (%d)."), 688 found, count); 688 T 689 ("WARNING: Actual number of flag aliases (%d) different than expected count (%d)."), 690 found, count); 689 691 690 692 flag_add_additional(n); 1.8.2/trunk/src/function.c
r531 r557 804 804 } 805 805 806 static void delete_function(void *);806 static void delete_function(void *); 807 807 808 808 /** Initialize the function hash table. … … 1288 1288 size_t table_index, i; 1289 1289 FUN *fp = data; 1290 1290 1291 1291 table_index = fp->where.offset; 1292 1292 mush_free((void *) fp->name, "func_hash.name"); … … 1307 1307 1308 1308 } 1309 1309 1310 /** Restore an overridden built-in function. 1310 1311 * \verbatim 1.8.2/trunk/src/fundb.c
r531 r557 1990 1990 preserve = parse_boolean(args[2]); 1991 1991 1992 do_link(executor, args[0], args[1], preserve);1992 do_link(executor, args[0], args[1], preserve); 1993 1993 } 1994 1994 1.8.2/trunk/src/funlist.c
r529 r557 2910 2910 return; 2911 2911 2912 first = 0;2912 first = 1; 2913 2913 while (1) { 2914 2914 words = 0; 1.8.2/trunk/src/htab.c
r531 r557 155 155 */ 156 156 void 157 hash_init(HASHTAB *htab, int size, int data_size, void (*free_data) (void*))157 hash_init(HASHTAB *htab, int size, int data_size, void (*free_data) (void *)) 158 158 { 159 159 int i; 1.8.2/trunk/src/look.c
r531 r557 1392 1392 extern char escaped_chars[UCHAR_MAX + 1]; 1393 1393 1394 void 1395 insert_spaces(int count, int dospace, char *buff, char **bp) 1396 { 1397 if (count) { 1398 if (count >= 5) { 1399 safe_str("[space(", buff, bp); 1400 safe_number(count, buff, bp); 1401 safe_str(")]", buff, bp); 1402 } else if (count == 1) { 1403 if (dospace) { 1404 safe_str("%b", buff, bp); 1405 } else { 1406 safe_chr(' ', buff, bp); 1407 } 1408 } else { 1409 /* Take care of the final %b */ 1410 count--; 1411 if (dospace) { 1412 safe_str("%b", buff, bp); 1413 count--; 1414 } 1415 while (count) { 1416 safe_chr(' ', buff, bp); 1417 count--; 1418 if (count) { 1419 count--; 1420 safe_str("%b", buff, bp); 1421 } 1422 } 1423 safe_str("%b", buff, bp); 1424 } 1425 } 1426 } 1427 1394 1428 char * 1395 1429 decompose_str(char *what) … … 1400 1434 int len; 1401 1435 int dospace; 1436 int spaces; 1402 1437 int flag_depth, ansi_depth; 1403 1438 int digits; … … 1415 1450 /* Put a \ at the beginning if it won't already be put there, 1416 1451 * unless it's a space, which would require %b, %r, or %t anyway */ 1417 if (!escaped_chars[(unsigned int) *what] && !isspace((unsigned char) *what)) {1452 if (!escaped_chars[(unsigned int) *what] && !isspace((unsigned char) *what)) { 1418 1453 safe_chr('\\', value, &s); 1419 1454 } 1420 1455 #endif 1456 1421 1457 dospace = 1; 1458 spaces = 0; 1422 1459 for (; *ptr; ptr++) { 1423 1460 switch (*ptr) { 1424 1461 case ' ': 1425 if (dospace) { 1426 safe_str("%b", value, &s); 1427 } else { 1428 safe_chr(' ', value, &s); 1429 } 1430 dospace = !dospace; 1462 spaces++; 1431 1463 break; 1432 1464 case '\n': 1465 insert_spaces(spaces, dospace, value, &s); 1466 spaces = 0; 1433 1467 dospace = 0; 1434 1468 safe_str("%r", value, &s); 1435 1469 break; 1436 1470 case '\t': 1471 insert_spaces(spaces, dospace, value, &s); 1472 spaces = 0; 1437 1473 dospace = 0; 1438 1474 safe_str("%t", value, &s); 1439 1475 break; 1440 1476 case ESC_CHAR: 1477 insert_spaces(spaces, dospace, value, &s); 1478 spaces = 0; 1441 1479 ptr++; 1442 1480 if (!*ptr) { … … 1468 1506 digits = 3; /* If we encounter a 3-number code, break out. */ 1469 1507 break; 1470 } else if (isdigit( *ptr)) {1508 } else if (isdigit((unsigned char) *ptr)) { 1471 1509 digits++; /* Count the numbers we encounter. */ 1472 1510 } else { … … 1511 1549 1512 1550 /* code for decompiling ansi */ 1513 for (; isdigit( *ptr) || *ptr == ';'; ptr++) {1551 for (; isdigit((unsigned char) *ptr) || *ptr == ';'; ptr++) { 1514 1552 if (*ptr == ';') /* Yes, it is necessary to do it this way. */ 1515 1553 ptr++; 1516 1554 /* Break if there is an 'm' here. */ 1517 if (!*ptr || !isdigit( *ptr))1555 if (!*ptr || !isdigit((unsigned char) *ptr)) 1518 1556 break; 1519 1557 /* Check to see if the code is one character long. */ … … 1588 1626 break; 1589 1627 default: 1628 insert_spaces(spaces, dospace, value, &s); 1629 spaces = 0; 1590 1630 if (escaped_chars[(unsigned int) *ptr]) { 1591 1631 safe_chr('\\', value, &s); … … 1596 1636 } 1597 1637 /* Now check the last space. */ 1598 if (*(s - 1) == ' ') { 1599 s -= 1; 1600 safe_str("%b", value, &s); 1601 } 1638 insert_spaces(spaces, dospace, value, &s); 1639 spaces = 0; 1602 1640 for (; ansi_depth > 0; ansi_depth--) { 1603 1641 safe_str(")]", value, &s); 1.8.2/trunk/src/plyrlist.c
r531 r557 29 29 static int hft_initialized = 0; 30 30 static void init_hft(void); 31 static void delete_dbref(void *);31 static void delete_dbref(void *); 32 32 33 33 /** Free a player_dbref struct. */ 34 34 static void 35 delete_dbref(void *data) 35 delete_dbref(void *data) 36 36 { 37 37 mush_free(data, "plyrlist.entry"); … … 52 52 if (hft_initialized) 53 53 hashflush(&htab_player_list, 256); 54 else54 else 55 55 init_hft(); 56 56 } 1.8.2/trunk/src/sig.c
r531 r557 126 126 sigprocmask(SIG_BLOCK, &mask, NULL); 127 127 #elif defined(WIN32) 128 /* The only signals Windows knows about */128 /* The only signals Windows knows about */ 129 129 signal(SIGABRT, SIG_IGN); 130 130 signal(SIGFPE, SIG_IGN); 1.8.2/trunk/test
- Property svn:ignore set to
- Property svn:ignore set to
1.8.2/trunk/utils
- Property svn:ignore set to
mkcmds.sh
- Property svn:ignore set to
1.8.2/trunk/utils/mkcmds.sh.SH
r455 r557 132 132 fi 133 133 134 if [ -d "../win32" ]; then135 cp ../hdrs/cmds.h ../win32/cmds.h136 fi137 138 134 ;; 139 135 functions) … … 153 149 mv -f ../hdrs/temp.$$.h ../hdrs/funs.h 154 150 fi 155 156 if [ -d "../win32" ]; then157 cp ../hdrs/funs.h ../win32/funs.h158 fi159 151 ;; 160 152 esac 1.8.2/trunk/win32
- Property svn:ignore set to
- Property svn:ignore set to
1.8.2/trunk/win32/README.txt
r523 r557 1 How to compile PennMUSH 1. 7.x under Windows (MSVC++/MS VS.NET)1 How to compile PennMUSH 1.8.x under Windows (MSVC++/MS VS.NET) 2 2 ---------------------------------------------- 3 3 by Nick Gammon <nick@gammon.com.au> and Javelin and Luuk de Waard 4 Updated by Ervin Hearn <ehearn@pennmush.org> 4 5 5 Last update: Monday, 1 November 20026 Last update: Saturday, 11 November 2006 6 7 7 8 1. From the top-level pennmush directory, 8 Copy the following files to:9 Copy the following files to: 9 10 10 win32/config.h config.h 11 win32/confmagic.h confmagic.h 12 win32/options.h options.h 13 win32/cmds.h hdrs/cmds.h 14 win32/funs.h hdrs/funs.h 15 win32/patches.h hdrs/patches.h 16 src/local.dst src/local.c 17 src/funlocal.dst src/funlocal.c 18 src/cmdlocal.dst src/cmdlocal.c 19 src/flaglocal.dst src/flaglocal.c 20 game/mushcnf.dst game/mush.cnf 11 For MSVC++ 6: 12 win32/msvc6/pennmush.dsw pennmush.dsw 13 win32/msvc6/pennmush.dsp pennmush.dsp 14 win32/config.h config.h 15 win32/confmagic.h confmagic.h 16 win32/options.h options.h 17 win32/cmds.h hdrs/cmds.h 18 win32/funs.h hdrs/funs.h 19 win32/patches.h hdrs/patches.h 20 src/cmdlocal.dst src/cmdlocal.c 21 src/flaglocal.dst src/flaglocal.c 22 src/funlocal.dst src/funlocal.c 23 src/local.dst src/local.c 24 game/mushcnf.dst game/mush.cnf 25 game/aliascnf.dst game/alias.cnf 26 game/namescnf.dst game/names.cnf 27 game/restrictcnf.dst game/restrict.cnf 21 28 22 Project files for MSVC++:23 win32/pennmush.dsw pennmush.dsw24 win32/pennmush.dsp pennmush.dsp25 29 26 Project files for MS VS.NET:27 win32/pennmush.vcproj pennmush.vcproj28 win32/pennmush.slnpennmush.sln30 For MS VS.NET: 31 win32/msvc.net/pennmush.vcproj pennmush.vcproj 32 win32/msvc.net/pennmush.sln pennmush.sln 29 33 30 (If you've already got src/*local.c files that you've modified, 31 you'll just have to make sure that there are no new functions 32 in src/*local.dst that're missing in your src/*local.c files) 34 VS.NET has been configured to copy the .dst files automatically if they 35 do not exist, and the header files each time the project is compiled. This 36 can be disabled or changed by going to Project -> pennmush Properties -> 37 Configuration Properties -> Build Events -> Pre-Build Event and Post-Build 38 Event. 39 40 41 If you've already got src/*local.c files that you've modified, 42 you'll just have to make sure that there are no new functions 43 in src/*local.dst that are missing in your src/*local.c files 33 44 34 45 2. Use supplied project files in the top-level pennmush directory. … … 38 49 4. From the top-level pennmush directory, the binary is: game/pennmush.exe 39 50 51 *** Note: Windows defaults to a stack size of 1 MB. The supplied project files 52 set the stack size to 8MB to match the default environment on Linux systems and 53 resolve several issues of early code termination on Windows. This setting can 54 also be changed on the precompiled executable by using the 'editbin.exe' tool 55 supplied by Microsoft in the Visual Studio installation, including the free 56 Express version. To set the stack size (in KB) run the following from a 57 command prompt in the game directory: editbin /STACK:<size> pennmush.exe 1.8.2/trunk/win32/README_MySQL.txt
r467 r557 1 Building PennMUSH 1. 7.x under Windows with MySQL1 Building PennMUSH 1.8.x under Windows with MySQL 2 2 ------------------------------------------------ 3 by Ervin Hearn < noltar@korongil.net>3 by Ervin Hearn <ehearn@pennmush.org> 4 4 5 Last update: Saturday, 26 June 20046 Current Version of MySQL: 4.0.20a5 Last update: Saturday, 11 November 2006 6 Current Version of MySQL: 5.0.27 7 7 8 These directions are oriented toward those using MSVC++ or MinGW9 Development Studio. Those using MinGW+MSys should install MySQL 10 just as if they weredoing so on Linux.8 These directions are oriented toward those using MSVC++ or another Graphical 9 Windows IDE. Those using MinGW+MSys should install MySQL just as if they were 10 doing so on Linux. 11 11 12 12 1. Download and install MySQL for Windows from http://www.mysql.org/ … … 14 14 2. Make sure that the contents of mysql/lib/opt and mysql/include are located 15 15 within your build environment's path. 16 17 I recommend c reating symlinks/shortcuts with the name mysql inyour18 compiler's lib and include directories which point to the mysql install19 locations. Arepresentation of this is:20 16 17 I recommend copying the contents of the directories listed below into your 18 compiler's lib and include directories under directories named 'mysql'. A 19 representation of this is: 20 21 21 C:\Program Files\Microsoft Visual Studio\VC98\lib\mysql -> C:\mysql\lib\opt 22 22 C:\Program Files\Microsoft Visual Studio\VC98\include\mysql -> C:\mysql\include 1.8.2/trunk/win32/cmds.h
r519 r557 135 135 COMMAND_PROTO(cmd_wait); 136 136 COMMAND_PROTO(cmd_wall); 137 COMMAND_PROTO(cmd_warnings); 137 138 COMMAND_PROTO(cmd_warn_on_missing); 138 COMMAND_PROTO(cmd_warnings);139 139 COMMAND_PROTO(
