diff -urpN ./src/act_wiz.c ./new/act_wiz.c
--- ./src/act_wiz.c Fri May 16 02:11:34 2003
+++ ./new/act_wiz.c Tue May 27 02:46:35 2003
@@ -1478,9 +1478,10 @@ CH_CMD(do_mstat)
chprintlnf(ch,
"Vnum: %ld Format: %s Race: %s Group: %d Sex: %s Room: %ld",
IS_NPC(victim) ? victim->pIndexData->vnum : 0,
- IS_NPC(victim) ? victim->pIndexData->
- new_format ? "new" : "old" : "pc", victim->race->name,
- IS_NPC(victim) ? victim->group : 0, sex_table[victim->sex].name,
+ IS_NPC(victim) ? victim->
+ pIndexData->new_format ? "new" : "old" : "pc",
+ victim->race->name, IS_NPC(victim) ? victim->group : 0,
+ sex_table[victim->sex].name,
victim->in_room == NULL ? 0 : victim->in_room->vnum);
if (IS_NPC(victim))
@@ -1936,6 +1937,23 @@ CH_CMD(do_mwhere)
return;
}
+void set_shutdown(bool down)
+{
+ extern bool merc_down;
+
+ while (auction_first != NULL)
+ reset_auc(auction_first, TRUE);
+ save_donation_pit();
+ save_gquest_data();
+ save_war_data();
+ do_asave(NULL, "changed");
+#if !defined(NO_WEB)
+ if (WebUP)
+ shutdown_web_server();
+#endif
+ merc_down = down;
+}
+
CH_CMD(do_reboo)
{
chprintln(ch, "If you want to REBOOT, spell it out.");
@@ -1945,21 +1963,15 @@ CH_CMD(do_reboo)
CH_CMD(do_reboot)
{
char buf[MAX_STRING_LENGTH];
- extern bool merc_down;
DESCRIPTOR_DATA *d, *d_next;
CHAR_DATA *vch;
- if (ch->invis_level < LEVEL_HERO)
+ if (ch && ch->invis_level < LEVEL_HERO)
{
sprintf(buf, "Reboot by %s.", ch->name);
do_function(ch, &do_echo, buf);
}
- while (auction_first != NULL)
- reset_auc(auction_first, TRUE);
- save_donation_pit();
- merc_down = TRUE;
- save_gquest_data();
- save_war_data();
+ set_shutdown(TRUE);
for (d = descriptor_first; d != NULL; d = d_next)
{
d_next = d->next;
@@ -1981,7 +1993,6 @@ CH_CMD(do_shutdow)
CH_CMD(do_shutdown)
{
char buf[MAX_STRING_LENGTH];
- extern bool merc_down;
DESCRIPTOR_DATA *d, *d_next;
CHAR_DATA *vch;
@@ -1989,16 +2000,11 @@ CH_CMD(do_shutdown)
sprintf(buf, "Shutdown by %s.", ch->name);
append_file(ch, SHUTDOWN_FILE, buf);
strcat(buf, "\n\r");
- if (ch->invis_level < LEVEL_HERO)
+ if (ch && ch->invis_level < LEVEL_HERO)
{
do_function(ch, &do_echo, buf);
}
- while (auction_first != NULL)
- reset_auc(auction_first, TRUE);
- save_donation_pit();
- merc_down = TRUE;
- save_gquest_data();
- save_war_data();
+ set_shutdown(TRUE);
for (d = descriptor_first; d != NULL; d = d_next)
{
d_next = d->next;
@@ -4083,8 +4089,8 @@ CH_CMD(do_sockets)
count++;
sprintf(buf + strlen(buf), "[%3d %2d] %s@%s\n\r",
d->descriptor, d->connected,
- d->original ? d->original->name : d->character ? d->
- character->name : "(none)", d->host);
+ d->original ? d->original->name : d->
+ character ? d->character->name : "(none)", d->host);
}
}
if (count == 0)
@@ -4423,15 +4429,7 @@ CH_CMD(do_copyover)
/* Consider changing all saved areas here, if you use OLC */
- do_asave(NULL, "changed");
-
- save_gquest_data();
- save_war_data();
-
- while (auction_first != NULL)
- reset_auc(auction_first, TRUE);
-
- save_donation_pit();
+ set_shutdown(FALSE);
sprintf(buf, "\n\r *** COPYOVER by %s - please remain seated!\n\r",
ch ? ch->name : "System");
@@ -4482,10 +4480,6 @@ CH_CMD(do_copyover)
/* Close reserve and other always-open files and release other resources */
fclose(fpReserve);
-
-#if !defined(NO_WEB)
- shutdown_web_server();
-#endif
/* exec - descriptors are inherited */
diff -urpN ./src/arena.c ./new/arena.c
--- ./src/arena.c Fri May 16 02:11:34 2003
+++ ./new/arena.c Tue May 27 02:46:35 2003
@@ -79,9 +79,8 @@ CH_CMD(do_arena_challenge)
chprintlnf
(ch,
"You have already been challenged, either ACCEPT or DECLINE %s first.",
- ch->pcdata->challenger ? ch->pcdata->challenger->
- name : ch->pcdata->challenged ? ch->pcdata->challenged->
- name : "!BUG!");
+ ch->pcdata->challenger ? ch->pcdata->challenger->name : ch->
+ pcdata->challenged ? ch->pcdata->challenged->name : "!BUG!");
return;
}
diff -urpN ./src/auction.c ./new/auction.c
--- ./src/auction.c Fri May 16 02:11:34 2003
+++ ./new/auction.c Tue May 27 02:46:35 2003
@@ -237,9 +237,9 @@ void auction_update(void)
reset_auc(auc, TRUE);
}
else if ((unsigned long) (!IS_OBJ_STAT(auc->item, ITEM_QUEST)
- ? auc->high_bidder->gold : auc->
- high_bidder->pcdata->questpoints) <
- auc->bid)
+ ? auc->high_bidder->
+ gold : auc->high_bidder->pcdata->
+ questpoints) < auc->bid)
{
announce(auc->high_bidder, INFO_AUCTION,
"$n can't cover their stake in the auction, sale stopped.");
diff -urpN ./src/clans.c ./new/clans.c
--- ./src/clans.c Fri May 16 02:11:34 2003
+++ ./new/clans.c Tue May 27 02:46:35 2003
@@ -330,8 +330,8 @@ CH_CMD(do_clanadmin)
{
chprintlnf(ch, "%-12s %-8s %s", victim->name,
position_table[victim->position].name,
- victim->in_room ? victim->in_room->
- area->name : "Unknown");
+ victim->in_room ? victim->in_room->area->
+ name : "Unknown");
found = TRUE;
}
}
diff -urpN ./src/comm.c ./new/comm.c
--- ./src/comm.c Fri May 16 02:11:34 2003
+++ ./new/comm.c Tue May 27 02:46:35 2003
@@ -41,6 +41,9 @@
* -- Furey 26 Jan 1993
*/
+#if !defined(_GNU_SOURCE)
+#define _GNU_SOURCE
+#endif
#include <sys/types.h>
#if !defined(WIN32)
#include <sys/time.h>
@@ -55,11 +58,7 @@
#include <ctype.h>
#include <errno.h>
#include <stdio.h>
-#define __USE_GNU /* for strsignal() */
-#define _GNU_SOURCE
#include <string.h>
-#undef __USE_GNU
-#undef _GNU_SOURCE
#include <stdlib.h>
#include <time.h>
#include <stdarg.h> /* chprintf */
@@ -90,10 +89,11 @@ bool god; /* All new chars are gods
bool merc_down; /* Shutdown */
char str_boot_time[MAX_INPUT_LENGTH];
/* Needs to be global because of do_copyover */
-int port, control;
+int control;
/* Global variable */
-#if !defined(WIN32) && !defined(__CYGWIN__)
-volatile sig_atomic_t crashed = 0; /* Are we currently crashing? */
+#if defined(WIN32) || defined(__CYGWIN__)
+#define NO_VTIMER
+#else
struct itimerval vtimer;
#endif
@@ -101,13 +101,15 @@ struct itimerval vtimer;
#define WOULD_HAVE_BLOCKED ( WSAGetLastError() == WSAEWOULDBLOCK )
#else
#define WOULD_HAVE_BLOCKED ( errno == EWOULDBLOCK )
+volatile sig_atomic_t crashed = 0; /* Are we currently crashing? */
+void halt_mud args((int sig));
+void set_shutdown args((bool down));
#endif
void game_loop args((int ctrl));
int init_socket args((int prt));
void init_descriptor args((int ctrl));
bool read_from_descriptor args((DESCRIPTOR_DATA * d));
-void halt_mud args((int sig));
/*
* Other local functions (OS-independent).
@@ -123,9 +125,8 @@ void save_helps args((void));
void set_vtimer(long sec)
{
-#if !defined(WIN32) && !defined(__CYGWIN__)
-#define DEFAULT_VTIMER (60 * 60 * 3) // 3 minutes
- vtimer.it_value.tv_sec = sec == -1 ? DEFAULT_VTIMER : sec;
+#if !defined(NO_VTIMER)
+ vtimer.it_value.tv_sec = sec < 0 ? (60 * 3) : sec;
vtimer.it_value.tv_usec = 0;
if (setitimer(ITIMER_VIRTUAL, &vtimer, NULL) < 0)
@@ -137,10 +138,10 @@ void set_vtimer(long sec)
}
#if !defined(WIN32)
-#if !defined(__CYGWIN__)
void sigvalarm(int sig)
{
+#if !defined(NO_VTIMER)
static int safe_check = 0;
char crash_message_a[] =
"The mud has been looping for the past 60 seconds.";
@@ -174,32 +175,28 @@ void sigvalarm(int sig)
halt_mud(sig); // Shouldn't return
exit(1); // Last resort
-}
-
-// Stop an endless loop
-static void sigalrm(int sig)
-{
+#else
static int attempt = 0;
time_t ptm;
time(&ptm);
log_string("TOCK!");
- if ((ptm - current_time) > 200 || crashed)
+ if ((ptm - current_time) > 120 || crashed)
{
if (attempt != 1)
{
- attempt = 1; // Try to reboot once...
-
+ attempt = 1;
halt_mud(sig); // Should NOT return
}
-
raise(SIGSEGV); // Something's wrong, cause a crash
exit(0);
}
+ alarm(60);
+#endif
}
-struct sigaction halt_action, ignore_action, alarm_action, valarm_action;
+struct sigaction halt_action, ignore_action, valarm_action;
struct signal_type
{
@@ -224,8 +221,11 @@ const struct signal_type signal_table[]
{SIGSEGV, &halt_action, "SIGSEGV", "Invalid memory reference"},
{SIGTERM, &halt_action, "SIGTERM", "Termination signal"},
{SIGBUS, &halt_action, "SIGBUS", "Bus error (bad memory access)"},
- {SIGALRM, &alarm_action, "SIGALRM", "Timer signal from alarm(2)"},
+#if !defined(NO_VTIMER)
{SIGVTALRM, &valarm_action, "SIGVTALRM", "Virtual alarm clock"},
+#else
+ {SIGALRM, &valarm_action, "SIGALRM", "Timer signal from alarm(2)"},
+#endif
{-1, NULL, NULL, NULL}
};
@@ -235,16 +235,12 @@ void set_signals(void)
halt_action.sa_handler = halt_mud;
sigemptyset(&halt_action.sa_mask);
- halt_action.sa_flags = SA_NOMASK;
+ halt_action.sa_flags = SA_NODEFER;
ignore_action.sa_handler = SIG_IGN;
sigemptyset(&ignore_action.sa_mask);
ignore_action.sa_flags = 0;
- alarm_action.sa_handler = sigalrm;
- sigemptyset(&alarm_action.sa_mask);
- alarm_action.sa_flags = SA_NOMASK;
-
valarm_action.sa_handler = sigvalarm;
sigemptyset(&valarm_action.sa_mask);
valarm_action.sa_flags = SA_NODEFER;
@@ -252,12 +248,15 @@ void set_signals(void)
for (i = 0; signal_table[i].signum != -1; i++)
sigaction(signal_table[i].signum, signal_table[i].act, NULL);
+#if !defined(NO_VTIMER)
vtimer.it_interval.tv_sec = 60;
vtimer.it_interval.tv_usec = 0;
set_vtimer(-1);
+#else
+ alarm(60);
+#endif
}
-#endif
#else
void gettimeofday(struct timeval *t, void *tz)
{
@@ -271,8 +270,10 @@ void gettimeofday(struct timeval *t, voi
int main(int argc, char **argv)
{
struct timeval now_time;
-#if !defined(WIN32) && !defined(__CYGWIN__)
+#if !defined(WIN32)
+#if !defined(__CYGWIN__)
bool fCopyOver = FALSE;
+#endif
set_signals();
#endif
@@ -285,10 +286,15 @@ int main(int argc, char **argv)
current_time = (time_t) now_time.tv_sec;
strcpy(str_boot_time, str_time(current_time, -1, NULL));
+ if (gethostname(HOSTNAME, 1024) == -1)
+ perror("gethostname");
+ if (HOSTNAME[0] == '\0')
+ strcpy(HOSTNAME, "localhost");
+
/*
* Reserve one channel for our use.
*/
- if ((fpReserve = file_open(NULL_FILE, "r")) == NULL)
+ if ((fpReserve = fopen(NULL_FILE, "r")) == NULL)
{
perror(NULL_FILE);
exit(1);
@@ -373,7 +379,8 @@ int main(int argc, char **argv)
#endif
game_loop(control);
#if !defined(NO_WEB)
- shutdown_web_server();
+ if (WebUP)
+ shutdown_web_server();
#endif
close(control);
@@ -534,12 +541,10 @@ void WaitForPulse()
void game_loop(int ctrl)
{
static struct timeval null_time = { 0, 0 };
+#if !defined(NO_VTIMER)
int vt_set = 0;
-
-#if !defined(WIN32)
- signal(SIGPIPE, SIG_IGN);
- signal(SIGCHLD, SIG_IGN);
#endif
+
SynchronizeClock();
/* Main loop */
@@ -637,8 +642,10 @@ void game_loop(int ctrl)
d->fcommand = TRUE;
stop_idling(d->character);
+#if !defined(NO_VTIMER)
vt_set = 0;
set_vtimer(60);
+#endif
/* OLC */
if (d->showstr_point)
@@ -712,12 +719,14 @@ void game_loop(int ctrl)
*/
WaitForPulse();
SynchronizeClock();
+#if !defined(NO_VTIMER)
if (++vt_set >= 35)
{
vt_set = 0;
set_vtimer(60);
}
+#endif
}
return;
@@ -1689,8 +1698,8 @@ void bust_a_prompt(CHAR_DATA * ch)
((!IS_NPC(ch) &&
IS_SET(ch->act, PLR_HOLYLIGHT)) ||
(!IS_AFFECTED(ch, AFF_BLIND) &&
- !room_is_dark(ch->in_room))) ? ch->
- in_room->name : "darkness");
+ !room_is_dark(ch->in_room))) ? ch->in_room->
+ name : "darkness");
else
sprintf(buf2, " ");
i = buf2;
@@ -1991,8 +2000,8 @@ bool check_playing(DESCRIPTOR_DATA * d,
dold->connected != CON_GET_NAME &&
dold->connected != CON_GET_OLD_PASSWORD &&
!str_cmp(name,
- dold->original ? dold->original->name : dold->
- character->name))
+ dold->original ? dold->original->name : dold->character->
+ name))
{
write_to_buffer(d, "That character is already playing.\n\r", 0);
write_to_buffer(d, "Do you wish to connect anyway (Y/N)?", 0);
@@ -2733,7 +2742,7 @@ void logf(char *fmt, ...)
void update_last_func(DESCRIPTOR_DATA * d, const char *lstr, const char *sstr)
{
-#if !defined(WIN32) && !defined(__CYGWIN__)
+#if !defined(WIN32)
last_descriptor = d;
if (lstr != NULL)
strcpy(last_func_long, lstr);
@@ -2742,23 +2751,29 @@ void update_last_func(DESCRIPTOR_DATA *
#endif
}
-#if !defined(WIN32) && !defined(__CYGWIN__)
+#if !defined(WIN32)
+
+#if !defined(__CYGWIN__)
#define CORE_EXAMINE_SCRIPT "../corefiles/gdbscript"
+#endif
+
void halt_mud(int sig)
{
DESCRIPTOR_DATA *d;
CHAR_DATA *ch;
+ char message[MSL];
+#if !defined(__CYGWIN__)
struct sigaction default_action;
- int i;
pid_t forkpid;
+ int i;
int status;
- char message[MSL];
waitpid(-1, &status, WNOHANG);
if (!crashed)
{
+#endif
crashed++;
logf("GAME CRASHED (SIGNAL %d, %s).", sig, strsignal(sig));
logf("Last recored function: %s", last_func_long);
@@ -2793,7 +2808,7 @@ void halt_mud(int sig)
if ((sig == SIGVTALRM || sig == SIGALRM) && IS_IMMORTAL(ch))
write_to_descriptor(d,
- "\n\rThe mud has been unresponsive for 60 seconds. Rebooting.\n\r",
+ "\n\rThe mud has been unresponsive for 2 minutes. Rebooting.\n\r",
0);
write_to_descriptor(d, "\n\rThe mud has CRASHED.\007\n\r", 0);
@@ -2815,6 +2830,10 @@ void halt_mud(int sig)
save_char_obj(ch);
}
+#if defined(__CYGWIN__)
+ set_shutdown(TRUE);
+ exit(0);
+#else
// success - proceed with fork/copyover plan. Otherwise will go to
// next section and crash with a full reboot to recover
if ((forkpid = fork()) > 0)
@@ -2920,6 +2939,7 @@ void halt_mud(int sig)
return;
raise(sig);
}
+#endif
}
#endif
@@ -3003,6 +3023,9 @@ void set_game_levels(int Old, int New)
CH_CMD(do_crash)
{
+#if defined(WIN32)
+ chprintln(ch, "Sorry this command isn't available under windows.");
+#else
if (IS_NULLSTR(argument))
{
chprintln(ch, "Syntax: crash confirm - send a SIGSEGV to the mud.");
@@ -3025,4 +3048,5 @@ CH_CMD(do_crash)
do_crash(ch, "");
return;
}
+#endif
}
diff -urpN ./src/db2.c ./new/db2.c
--- ./src/db2.c Fri May 16 02:11:34 2003
+++ ./new/db2.c Tue May 27 02:46:35 2003
@@ -34,6 +34,7 @@
#include <sys/types.h>
#if !defined(WIN32)
#include <sys/time.h>
+#include <unistd.h>
#endif
#include <stdarg.h>
#include "merc.h"
@@ -44,6 +45,7 @@
#include "magic.h"
#include "recycle.h"
#include "olc.h"
+#include "webserver.h"
/* values for db2.c */
@@ -986,14 +988,30 @@ CH_CMD(do_memory_help)
"perms Report managed memory objects in use by other modules\n\r"
"freelists Report memory objects waiting to be recycled\n\r"
"formats Report old format prototypes\n\r"
+ "stats Report machine stats\n\r"
"? This message");
}
+CH_CMD(do_memory_stats)
+{
+ chprintlnf(ch, " HostName = %s.", HOSTNAME);
+ chprintlnf(ch, " Port = %d.", port);
+#if !defined(NO_WEB)
+ if (WebUP)
+ chprintlnf(ch, " Web Server Port = %d", WEBSERVERPORT);
+#endif
+#if !defined(WIN32)
+ chprintlnf(ch, " Current process ID is %d.", getpid());
+#endif
+ chprintlnf(ch, " Log All = %s.", fLogAll ? "TRUE" : "FALSE");
+}
+
CH_CMD(do_memory)
{
vinterpret(ch, argument, "perms", do_memory_perms, "heap",
do_memory_heap, "freelists", do_memory_freelists, "formats",
- do_memory_formats, NULL, do_memory_help);
+ do_memory_formats, "stats", do_memory_stats, NULL,
+ do_memory_help);
}
int strswitch(const char *arg, ...)
@@ -1091,6 +1109,7 @@ bool file_close(FILE * fp)
FILE_DATA *fopen_temp(const char *file)
{
FILE_DATA *fp;
+ char temp[PATH_MAX];
if (IS_NULLSTR(file))
return NULL;
@@ -1101,15 +1120,12 @@ FILE_DATA *fopen_temp(const char *file)
return NULL;
strncpy(fp->name, file, PATH_MAX);
-#if !defined(WIN32)
- {
- char temp[PATH_MAX];
- snprintf(temp, PATH_MAX, "%s.tmp%d", file, number_percent());
- strncpy(fp->tmp_name, temp, PATH_MAX);
- }
+#if !defined(WIN32) && !defined(__CYGWIN__)
+ snprintf(temp, PATH_MAX, "%s.tmp%d", file, number_percent());
#else
- strncpy(fp->tmp_name, file, PATH_MAX);
+ strncpy(temp, file, PATH_MAX);
#endif
+ strncpy(fp->tmp_name, temp, PATH_MAX);
if ((fp->file = file_open(fp->tmp_name, "w")) == NULL)
{
file_close(fp->file);
@@ -1125,7 +1141,7 @@ void fclose_temp(FILE_DATA * fp)
if (fp)
{
file_close(fp->file);
-#if !defined(WIN32)
+#if !defined(WIN32) && !defined(__CYGWIN__)
if (str_cmp(fp->tmp_name, fp->name))
rename(fp->tmp_name, fp->name);
#endif
diff -urpN ./src/fight.c ./new/fight.c
--- ./src/fight.c Fri May 16 02:11:34 2003
+++ ./new/fight.c Tue May 27 02:46:36 2003
@@ -3110,8 +3110,9 @@ CH_CMD(do_flee)
if ((pexit = was_in->exit[door]) == 0 || pexit->u1.to_room == NULL
|| IS_SET(pexit->exit_info, EX_CLOSED) ||
number_range(0, ch->daze) != 0 || (IS_NPC(ch) &&
- IS_SET(pexit->u1.to_room->
- room_flags, ROOM_NO_MOB)))
+ IS_SET(pexit->u1.
+ to_room->room_flags,
+ ROOM_NO_MOB)))
continue;
move_char(ch, door, FALSE);
diff -urpN ./src/globals.h ./new/globals.h
--- ./src/globals.h Fri May 16 02:11:35 2003
+++ ./new/globals.h Tue May 27 02:46:36 2003
@@ -148,4 +148,7 @@ GLOBAL(SOCIAL_DATA * social_hash[27]);
GLOBAL_DEF(CMD_DATA * cmd_first_sorted, NULL);
+GLOBAL_DEF(int port, 0);
+GLOBAL(char HOSTNAME[1024]);
+
#endif
diff -urpN ./src/handler.c ./new/handler.c
--- ./src/handler.c Fri May 16 02:11:35 2003
+++ ./new/handler.c Tue May 27 02:46:36 2003
@@ -2512,8 +2512,8 @@ bool can_see(CHAR_DATA * ch, CHAR_DATA *
victim->in_room
&&
IS_SET
- (victim->
- in_room->room_flags,
+ (victim->in_room->
+ room_flags,
ROOM_ARENA)))
return TRUE;
@@ -2690,7 +2690,7 @@ const char *high_level_name(int level, b
static char buf[MSL];
const char *imm_long[MAX_LEVEL - MAX_MORTAL_LEVEL] =
{ "AVATAR", "ANGEL", "DEMI", "IMMORTAL", "GOD", "DEITY", "SUPREME",
- "CREATOR", "IMPLEMENTOR"
+ "CREATOR", "IMPLEMENTOR"
};
const char *imm_short[MAX_LEVEL - MAX_MORTAL_LEVEL] =
{ "AVA", "ANG", "DEM", "IMM", "GOD", "DEI", "SUP", "CRE", "IMP" };
diff -urpN ./src/magic.c ./new/magic.c
--- ./src/magic.c Fri May 16 02:11:35 2003
+++ ./new/magic.c Tue May 27 02:46:36 2003
@@ -286,8 +286,8 @@ CH_CMD(do_cast)
if ((sn = find_spell(ch, arg1)) < 1 ||
skill_table[sn].spell_fun == spell_null || (!IS_NPC(ch) &&
(!can_use_skpell(ch, sn)
- || ch->
- pcdata->learned[sn] == 0)))
+ || ch->pcdata->
+ learned[sn] == 0)))
{
chprintln(ch, "You don't know any spells of that name.");
return;
@@ -2788,7 +2788,9 @@ MAGIC(spell_gate)
|| IS_SET(victim->in_room->room_flags, ROOM_NO_RECALL)
|| IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL) || (IS_NPC(victim)
&& is_gqmob(NULL,
- victim->pIndexData->vnum)
+ victim->
+ pIndexData->
+ vnum)
!= -1)
|| (IS_NPC(victim) && IS_QUESTOR(ch)
&& ch->pcdata->questmob == victim->pIndexData->vnum)
diff -urpN ./src/magic2.c ./new/magic2.c
--- ./src/magic2.c Fri May 16 02:11:35 2003
+++ ./new/magic2.c Tue May 27 02:46:36 2003
@@ -64,9 +64,7 @@ MAGIC(spell_portal)
|| IS_SET(victim->in_room->room_flags, ROOM_NO_RECALL)
|| IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL) || (IS_NPC(victim)
&& is_gqmob(NULL,
- victim->
- pIndexData->
- vnum)
+ victim->pIndexData->vnum)
!= -1)
|| (IS_NPC(victim) && IS_QUESTOR(ch)
&& ch->pcdata->questmob == victim->pIndexData->vnum)
@@ -125,17 +123,10 @@ MAGIC(spell_nexus)
|| IS_SET(to_room->room_flags, ROOM_ARENA)
|| IS_SET(from_room->room_flags, ROOM_ARENA) || (IS_NPC(victim)
&& is_gqmob(NULL,
- victim->
- pIndexData->
- vnum) !=
- -1) || (IS_NPC(victim)
- &&
- IS_QUESTOR(ch)
- && ch->pcdata->
- questmob ==
- victim->
- pIndexData->
- vnum)
+ victim->pIndexData->vnum)
+ != -1)
+ || (IS_NPC(victim) && IS_QUESTOR(ch)
+ && ch->pcdata->questmob == victim->pIndexData->vnum)
|| victim->level >= level + 3 || (!IS_NPC(victim) && victim->level >= MAX_MORTAL_LEVEL) /* NOT trust */
|| (IS_NPC(victim) && IS_SET(victim->imm_flags, IMM_SUMMON))
|| (IS_NPC(victim) && saves_spell(level, victim, DAM_NONE))
diff -urpN ./src/merc.h ./new/merc.h
--- ./src/merc.h Fri May 16 02:11:35 2003
+++ ./new/merc.h Tue May 27 02:46:36 2003
@@ -2121,10 +2121,10 @@ struct prog_code
PROG_CODE *prev;
};
-#if defined(WIN32)
-#define PATH_MAX MAX_PATH
-#else
-#include <limits.h>
+#include <limits.h> // PATH_MAX
+
+#if !defined(PATH_MAX)
+#define PATH_MAX 512
#endif
struct file_data
diff -urpN ./src/mob_cmds.c ./new/mob_cmds.c
--- ./src/mob_cmds.c Fri May 16 02:11:35 2003
+++ ./new/mob_cmds.c Tue May 27 02:46:36 2003
@@ -1340,8 +1340,8 @@ CH_CMD(do_mpflee)
|| IS_SET(pexit->exit_info, EX_CLOSED) || (IS_NPC(ch)
&&
IS_SET
- (pexit->u1.
- to_room->room_flags,
+ (pexit->u1.to_room->
+ room_flags,
ROOM_NO_MOB)))
continue;
@@ -1792,8 +1792,8 @@ OBJ_CMD(do_oppurge)
{
if ((vobj =
get_obj_here(NULL,
- obj->in_room ? obj->in_room : obj->
- carried_by->in_room, arg)))
+ obj->in_room ? obj->in_room : obj->carried_by->
+ in_room, arg)))
{
extract_obj(vobj);
}
@@ -2026,8 +2026,8 @@ OBJ_CMD(do_opforce)
if ((victim =
get_char_room(NULL,
- (obj->in_room) ? obj->in_room : obj->
- carried_by->in_room, arg)) == NULL)
+ (obj->in_room) ? obj->in_room : obj->carried_by->
+ in_room, arg)) == NULL)
return;
interpret(victim, argument);
@@ -2119,8 +2119,8 @@ OBJ_CMD(do_opdamage)
fAll = TRUE;
else if ((victim =
get_char_room(NULL,
- obj->in_room ? obj->in_room : obj->
- carried_by->in_room, target)) == NULL)
+ obj->in_room ? obj->in_room : obj->carried_by->
+ in_room, target)) == NULL)
return;
if (is_number(min))
@@ -2228,8 +2228,8 @@ OBJ_CMD(do_opcall)
if (!IS_NULLSTR(arg))
vch =
get_char_room(NULL,
- obj->in_room ? obj->in_room : obj->
- carried_by->in_room, arg);
+ obj->in_room ? obj->in_room : obj->carried_by->
+ in_room, arg);
argument = one_argument(argument, arg);
if (!IS_NULLSTR(arg))
obj1 =
@@ -2355,8 +2355,8 @@ OBJ_CMD(do_opattrib)
}
else if ((ch =
get_char_room(NULL,
- obj->in_room ? obj->in_room : obj->
- carried_by->in_room, target)) == NULL)
+ obj->in_room ? obj->in_room : obj->carried_by->
+ in_room, target)) == NULL)
return;
if (!str_cmp(arg1, "none"))
diff -urpN ./src/mob_prog.c ./new/mob_prog.c
--- ./src/mob_prog.c Fri May 16 02:11:35 2003
+++ ./new/mob_prog.c Tue May 27 02:46:36 2003
@@ -296,8 +296,8 @@ int count_people_room(CHAR_DATA * mob, O
|| (iFlag == 2 && IS_NPC(vch)) || (iFlag == 3
&& IS_NPC(mob)
&& IS_NPC(vch)
- && mob->
- pIndexData->vnum ==
+ && mob->pIndexData->
+ vnum ==
vch->pIndexData->vnum)
|| (iFlag == 4 && is_same_group(mob, vch)))
&& can_see(mob, vch))
@@ -1033,8 +1033,8 @@ int cmd_eval_obj(vnum_t vnum, const char
else if (lval_obj != NULL
&& (lval_obj->in_room != NULL || lval_obj->carried_by != NULL))
lval =
- lval_obj->in_room ? lval_obj->in_room->vnum : lval_obj->
- carried_by->in_room->vnum;
+ lval_obj->in_room ? lval_obj->in_room->
+ vnum : lval_obj->carried_by->in_room->vnum;
break;
case CHK_SEX:
if (lval_char != NULL)
@@ -1349,8 +1349,8 @@ int cmd_eval_room(vnum_t vnum, const cha
else if (lval_obj != NULL
&& (lval_obj->in_room != NULL || lval_obj->carried_by != NULL))
lval =
- lval_obj->in_room ? lval_obj->in_room->vnum : lval_obj->
- carried_by->in_room->vnum;
+ lval_obj->in_room ? lval_obj->in_room->
+ vnum : lval_obj->carried_by->in_room->vnum;
break;
case CHK_SEX:
if (lval_char != NULL)
@@ -1459,8 +1459,8 @@ void expand_arg_mob(char *buf, const cha
case 'N':
i = (ch != NULL
&& can_see(mob,
- ch)) ? (IS_NPC(ch) ? ch->short_descr : ch->
- name) : someone;
+ ch)) ? (IS_NPC(ch) ? ch->
+ short_descr : ch->name) : someone;
break;
case 't':
i = someone;
@@ -1473,8 +1473,8 @@ void expand_arg_mob(char *buf, const cha
case 'T':
i = (vch != NULL
&& can_see(mob,
- vch)) ? (IS_NPC(vch) ? vch->short_descr : vch->
- name) : someone;
+ vch)) ? (IS_NPC(vch) ? vch->
+ short_descr : vch->name) : someone;
break;
case 'r':
if (rch == NULL)
@@ -1491,8 +1491,8 @@ void expand_arg_mob(char *buf, const cha
rch = get_random_char(mob, NULL, NULL);
i = (rch != NULL
&& can_see(mob,
- rch)) ? (IS_NPC(ch) ? ch->short_descr : ch->
- name) : someone;
+ rch)) ? (IS_NPC(ch) ? ch->
+ short_descr : ch->name) : someone;
break;
case 'q':
i = someone;
@@ -1506,10 +1506,10 @@ void expand_arg_mob(char *buf, const cha
i = (mob->mprog_target != NULL
&& can_see(mob,
mob->mprog_target)) ? (IS_NPC(mob->mprog_target) ?
+ mob->
+ mprog_target->short_descr :
mob->mprog_target->
- short_descr : mob->
- mprog_target->name) :
- someone;
+ name) : someone;
break;
case 'j':
i = he_she[URANGE(0, mob->sex, 2)];
@@ -1531,9 +1531,7 @@ void expand_arg_mob(char *buf, const cha
case 'X':
i = (mob->mprog_target != NULL
&& can_see(mob, mob->mprog_target)) ? he_she[URANGE(0,
- mob->
- mprog_target->
- sex,
+ mob->mprog_target->sex,
2)] :
someone;
break;
@@ -1560,9 +1558,7 @@ void expand_arg_mob(char *buf, const cha
case 'Y':
i = (mob->mprog_target != NULL
&& can_see(mob, mob->mprog_target)) ? him_her[URANGE(0,
- mob->
- mprog_target->
- sex,
+ mob->mprog_target->sex,
2)] :
someone;
break;
@@ -1589,9 +1585,7 @@ void expand_arg_mob(char *buf, const cha
case 'Z':
i = (mob->mprog_target != NULL
&& can_see(mob, mob->mprog_target)) ? his_her[URANGE(0,
- mob->
- mprog_target->
- sex,
+ mob->mprog_target->sex,
2)] :
someones;
break;
@@ -1757,14 +1751,13 @@ void expand_arg_other(char *buf, const c
case 'Q':
i = (obj
&& obj->oprog_target !=
- NULL) ? (IS_NPC(obj->oprog_target) ? obj->oprog_target->
- short_descr : obj->oprog_target->name) : (room
- && room->
- rprog_target
- !=
- NULL)
- ? (IS_NPC(room->rprog_target) ? room->rprog_target->
- short_descr : room->rprog_target->name) : someone;
+ NULL) ? (IS_NPC(obj->oprog_target) ? obj->
+ oprog_target->short_descr : obj->oprog_target->
+ name) : (room
+ && room->rprog_target !=
+ NULL) ? (IS_NPC(room->rprog_target) ? room->
+ rprog_target->short_descr : room->
+ rprog_target->name) : someone;
break;
case 'j':
bug("Obj/room received case 'j'", 0);
@@ -1782,15 +1775,13 @@ void expand_arg_other(char *buf, const c
case 'X':
i = (obj
&& obj->oprog_target != NULL) ? he_she[URANGE(0,
- obj->
- oprog_target->
- sex, 2)] : (room
- &&
- room->
- rprog_target
- !=
- NULL)
- ? he_she[URANGE(0, room->rprog_target->sex, 2)] : someone;
+ obj->oprog_target->sex,
+ 2)] : (room
+ &&
+ room->rprog_target
+ !=
+ NULL) ?
+ he_she[URANGE(0, room->rprog_target->sex, 2)] : someone;
break;
case 'k':
bug("received case 'k'.", 0);
@@ -1812,15 +1803,13 @@ void expand_arg_other(char *buf, const c
case 'Y':
i = (obj
&& obj->oprog_target != NULL) ? him_her[URANGE(0,
- obj->
- oprog_target->
- sex, 2)] : (room
- &&
- room->
- rprog_target
- !=
- NULL)
- ? him_her[URANGE(0, room->rprog_target->sex, 2)] : someone;
+ obj->oprog_target->sex,
+ 2)] : (room
+ &&
+ room->rprog_target
+ !=
+ NULL) ?
+ him_her[URANGE(0, room->rprog_target->sex, 2)] : someone;
break;
case 'l':
bug("received case 'l'.", 0);
@@ -1842,15 +1831,13 @@ void expand_arg_other(char *buf, const c
case 'Z':
i = (obj
&& obj->oprog_target != NULL) ? his_her[URANGE(0,
- obj->
- oprog_target->
- sex, 2)] : (room
- &&
- room->
- rprog_target
- !=
- NULL)
- ? his_her[URANGE(0, room->rprog_target->sex, 2)] : someones;
+ obj->oprog_target->sex,
+ 2)] : (room
+ &&
+ room->rprog_target
+ !=
+ NULL) ?
+ his_her[URANGE(0, room->rprog_target->sex, 2)] : someones;
break;
case 'o':
i = something;
diff -urpN ./src/nanny.c ./new/nanny.c
--- ./src/nanny.c Fri May 16 02:11:35 2003
+++ ./new/nanny.c Tue May 27 02:46:36 2003
@@ -218,8 +218,8 @@ void handle_con_break_connect(DESCRIPTOR
if (str_cmp
(ch->name,
- d_old->original ? d_old->original->name : d_old->character->
- name))
+ d_old->original ? d_old->original->name : d_old->
+ character->name))
continue;
close_socket(d_old);
diff -urpN ./src/olc.h ./new/olc.h
--- ./src/olc.h Fri May 16 02:11:35 2003
+++ ./new/olc.h Tue May 27 02:46:36 2003
@@ -51,17 +51,17 @@
* It is displayed in the game by typing 'version' while editing.
* Do not remove these from the code - by request of Jason Dinkel
*/
-#define VERSION "ILAB Online Creation [Beta 1.0, ROM 2.3 modified]\n\r" \
+#define OLC_VERSION "ILAB Online Creation [Beta 1.0, ROM 2.3 modified]\n\r" \
" Port a ROM 2.4 v1.8\n\r"
-#define AUTHOR " By Jason(jdinkel@mines.colorado.edu)\n\r" \
+#define OLC_AUTHOR " By Jason(jdinkel@mines.colorado.edu)\n\r" \
" Modified for use with ROM 2.3\n\r" \
" By Hans Birkeland (hansbi@ifi.uio.no)\n\r" \
" Modificado para uso en ROM 2.4b6\n\r" \
" Por Ivan Toledo (itoledo@ctcreuna.cl)\n\r"
-#define DATE " (Apr. 7, 1995 - ROM mod, Apr 16, 1995)\n\r" \
+#define OLC_DATE " (Apr. 7, 1995 - ROM mod, Apr 16, 1995)\n\r" \
" (Port a ROM 2.4 - Nov 2, 1996)\n\r" \
" Version actual : 1.8 - Sep 8, 1998\n\r"
-#define CREDITS " Original by Surreality(cxw197@psu.edu) and Locke(locke@lm.com)"
+#define OLC_CREDITS " Original by Surreality(cxw197@psu.edu) and Locke(locke@lm.com)"
/*
* New typedefs.
diff -urpN ./src/olc_act.c ./new/olc_act.c
--- ./src/olc_act.c Fri May 16 02:11:35 2003
+++ ./new/olc_act.c Tue May 27 02:46:36 2003
@@ -122,10 +122,10 @@ void unlink_mob_index(MOB_INDEX_DATA * p
bool show_version(CHAR_DATA * ch, char *argument)
{
- chprintln(ch, VERSION);
- chprintln(ch, AUTHOR);
- chprintln(ch, DATE);
- chprintln(ch, CREDITS);
+ chprintln(ch, OLC_VERSION);
+ chprintln(ch, OLC_AUTHOR);
+ chprintln(ch, OLC_DATE);
+ chprintln(ch, OLC_CREDITS);
return FALSE;
}
@@ -820,9 +820,8 @@ AEDIT(aedit_show)
#if 0 /* ROM OLC */
chprintlnf(ch, "Recall: [%5d] %s", pArea->recall,
- get_room_index(pArea->recall) ? get_room_index(pArea->
- recall)->name :
- "none");
+ get_room_index(pArea->recall) ? get_room_index(pArea->recall)->
+ name : "none");
#endif /* ROM */
chprintlnf(ch, "File: %s", pArea->file_name);
@@ -2080,9 +2079,8 @@ void show_obj_values(CHAR_DATA * ch, OBJ
"[v4] Weight Mult [%ld]", obj->value[0],
flag_string(container_flags, obj->value[1]),
get_obj_index(obj->value[2]) ? get_obj_index(obj->value
- [2])->
- short_descr : "none", obj->value[2], obj->value[3],
- obj->value[4]);
+ [2])->short_descr
+ : "none", obj->value[2], obj->value[3], obj->value[4]);
break;
case ITEM_DRINK_CON:
diff -urpN ./src/tablesave.c ./new/tablesave.c
--- ./src/tablesave.c Fri May 16 02:11:35 2003
+++ ./new/tablesave.c Tue May 27 02:46:36 2003
@@ -815,8 +815,8 @@ void save_struct(FILE * fp, void *typeba
fprintf(fp, "%s\t\t", temp->field);
for (i = 0;
i <
- (temp->argument ? (int) temp->
- argument : *(int *) temp->argument2); i++)
+ (temp->argument ? (int) temp->argument : *(int *) temp->
+ argument2); i++)
fprintf(fp, "%d ", pbool[i] == TRUE ? 1 : 0);
fprintf(fp, "@\n");
break;
diff -urpN ./src/webserver.c ./new/webserver.c
--- ./src/webserver.c Fri May 16 02:11:35 2003
+++ ./new/webserver.c Tue May 27 02:46:36 2003
@@ -721,7 +721,7 @@ void html_colourconv(char *buffer, const
const char *HTTP_URL(void)
{
- return FORMATF(DEFAULT_URL, WEBSERVERPORT);
+ return FORMATF(DEFAULT_URL, HOSTNAME, WEBSERVERPORT);
}
char *get_next(char *path)
@@ -2345,7 +2345,7 @@ HANDLE_URL(HandleIndexRequest)
{
print_header(wdesc, "Welcome");
send_buf(wdesc->fd, "<P>Connect to <A href=\"" TELNET_URL "\">%s</A></P>\n",
- port, MUD_NAME);
+ HOSTNAME, port, MUD_NAME);
print_footer(wdesc);
return TRUE;
}
diff -urpN ./src/webserver.h ./new/webserver.h
--- ./src/webserver.h Fri May 16 02:11:35 2003
+++ ./new/webserver.h Tue May 27 02:46:36 2003
@@ -29,14 +29,17 @@
/* Modded for 1stMUD by Markanth 14/05/2003 */
+#if !defined(WEBSERVER_H)
+#define WEBSERVER_H
+
+#if !defined(NO_WEB)
+
#if !defined(WIN32)
#include <arpa/inet.h>
#else
#include "../win32/winstuff.h"
#endif
-#if !defined(NO_WEB)
-
#define DOCTYPE "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n"
/*
@@ -51,16 +54,14 @@
#define AUTH_DOMAIN "Staff Area - Username and Password are CASE SENSITIVE." /* Secure Area Description */
#define MAXDATA 1024
-#define DEFAULT_URL "http://localhost:%d/" // CHANGE THIS TO YOUR SERVER ADDRESS
-
-#define TELNET_URL "telnet://localhost:%d/" // CHANGE THIS TO YOUR SEVER ADDRESS
+#define DEFAULT_URL "http://%s:%d/"
+#define TELNET_URL "telnet://%s:%d/"
#define WEBSERVERPORT (port + 5) // port the web server will run on
#define MUD_NAME "1stMUD" // You mud's name here
extern bool WebUP;
-extern int port;
/* HTTP Basic Auth req. Base64 encoded/decode */
void Base64Decode(char *bufcoded, unsigned char *bufplain, int outbufsize);
@@ -106,4 +107,5 @@ bool init_web_server(void);
void update_web_server(void);
void shutdown_web_server(void);
+#endif
#endif