Commit 15c7b3d0 authored by Deuce's avatar Deuce 👌🏾

Merge branch 'master' into on_exit-generic

parents 55b7a5e8 afeb58c2
Pipeline #737 passed with stage
in 30 minutes and 14 seconds
......@@ -36,7 +36,7 @@
; JavaScript values can be specified here *and* in server-specific sections
; JavaScript values specified in server-specific sections will over-ride the global values
; Maximum allocation of memory per JS run-time:
JavaScriptMaxBytes = 8M
JavaScriptMaxBytes = 160M
; Maximum stack size per JS context:
JavaScriptContextStack = 16K
; Maximum number of ticks (100ms) before auto-termination of script:
......
......@@ -16,6 +16,7 @@
PWD := $(shell pwd)
SRC_ROOT ?= ${PWD}/..
include $(SRC_ROOT)/build/Common.gmake
include extdeps.mk
UTIL_LDFLAGS := $(LDFLAGS)
UTIL_LDFLAGS += $(SMBLIB_LDFLAGS) $(UIFC-MT_LDFLAGS) $(CIOLIB-MT_LDFLAGS) $(XPDEV_LDFLAGS) $(ENCODE_LDFLAGS)
......
# These C objects include sbbs.h, so need JS_DEPS and CRYPT_DEPS filled before they can build.
$(OBJODIR)$(DIRSEP)addfiles$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)allusers$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)ars$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)ars$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)dat_rec$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)dat_rec$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)date_str$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)date_str$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)delfiles$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)dstsedit$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)dupefind$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)echocfg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)filedat$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)filedat$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)filelist$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)ftpsrvr$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)getmail$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)getmail$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)getstats$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)ident$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_client$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_com$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_conio$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_cryptcert$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_cryptcon$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_cryptkeyset$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_file$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_file_area$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_global$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_internal$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_msg_area$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_msgbase$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_queue$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_request$(OFILE): $(JS_LIB)
$(MTOBJODIR)$(DIRSEP)js_rtpool$(OFILE): $(JS_LIB)
$(MTOBJODIR)$(DIRSEP)js_server$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_socket$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_sprintf$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_system$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_uifc$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_user$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_xtrn_area$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)jsdebug$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)jsdoor$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)jsexec$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)load_cfg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)load_cfg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)mailsrvr$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)makeuser$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)mime$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)msg_id$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)msg_id$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)msgdate$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)msgdate$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)nopen$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)nopen$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)qwknodes$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)readtext$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)rechocfg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)rechocfg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)sbbs_status$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)sbbscon$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)sbbsecho$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)scfglib1$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)scfglib1$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)scfglib2$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)scfglib2$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)scfgsave$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)scfgsave$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)services$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)smbactiv$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)smbutil$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)sockopts$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)ssl$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)str_util$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)str_util$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)userdat$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(OBJODIR)$(DIRSEP)userdat$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)websrvr$(OFILE): $(JS_LIB) $(CRYPT_LIB)
# C++
$(MTOBJODIR)$(DIRSEP)ansiterm$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)answer$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)atcodes$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)bat_xfer$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)bulkmail$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)chat$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)chk_ar$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)con_hi$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)con_out$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)data$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)data_ovl$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)download$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)email$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)exec$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)execfile$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)execfunc$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)execmisc$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)execmsg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)execnet$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)fido$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)file$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)getkey$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)getmsg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)getnode$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)getstr$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)inkey$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_bbs$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)js_console$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)listfile$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)logfile$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)login$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)logon$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)logout$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)mail$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)main$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)msgtoqwk$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)netmail$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)newuser$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)pack_qwk$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)pack_rep$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)postmsg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)prntfile$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)putmsg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)putnode$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)qwk$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)qwktomsg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)readmail$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)readmsgs$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)scandirs$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)scansubs$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)sortdir$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)str$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)telgate$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)text_sec$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)tmp_xfer$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)un_qwk$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)un_rep$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)upload$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)useredit$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)ver$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)viewfile$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)writemsg$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)xtrn$(OFILE): $(JS_LIB) $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)xtrn_sec$(OFILE): $(JS_LIB) $(CRYPT_LIB)
......@@ -2719,6 +2719,9 @@ static void parse_mail_address(char* p
if((tp=strchr(p,'"'))!=NULL) { /* name in quotes? */
p=tp+1;
tp=strchr(p,'"');
} else if(*p == '\'') { /* MS Outlook will put names in single-quotes */
p++;
tp=strchr(p, '\'');
} else if((tp=strchr(p,'('))!=NULL) { /* name in parenthesis? */
p=tp+1;
tp=strchr(p,')');
......
......@@ -77,11 +77,11 @@ scfg:
$(MAKE) -C scfg $(MAKEFLAGS)
.PHONY: uedit
uedit:
uedit: uifc-mt
$(MAKE) -C uedit $(MAKEFLAGS)
.PHONY: umonitor
umonitor:
umonitor: uifc-mt
$(MAKE) -C umonitor $(MAKEFLAGS)
.PHONY: gtkmonitor
......
SRC_ROOT := ..
include ${SRC_ROOT}/build/Common.gmake
include extdeps.mk
ifdef WITHOUT_OOII
CFLAGS += -DWITHOUT_OOII=1
......
$(MTOBJODIR)$(DIRSEP)syncterm$(OFILE): $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)st_crypt$(OFILE): $(CRYPT_LIB)
$(MTOBJODIR)$(DIRSEP)ssh$(OFILE): $(CRYPT_LIB)
......@@ -20,13 +20,13 @@ include $(SRC_ROOT)/build/Common.gmake # defines clean and output directory rule
CFLAGS += -I$(XPDEV_SRC) $(CIOLIB-MT_CFLAGS) $(XPDEV-MT_CFLAGS)
# UIFC Library Link Rule
$(UIFCLIB_BUILD): $(OBJS)
$(UIFCLIB_BUILD): ciolib $(OBJS)
@echo Creating $@ ...
$(QUIET)$(AR) rc $@ $(OBJS)
$(QUIET)$(RANLIB) $@
# MT-UIFC Library Link Rule
$(UIFCLIB-MT_BUILD): $(MT_OBJS)
$(UIFCLIB-MT_BUILD): ciolib-mt $(MT_OBJS)
@echo Creating $@ ...
$(QUIET)$(AR) rc $@ $(MT_OBJS)
$(QUIET)$(RANLIB) $@
......
......@@ -523,3 +523,39 @@ DLLEXPORT char* socket_strerror(int error_number, char* buf, size_t buflen)
return safe_strerror(error_number, buf, buflen);
#endif
}
#if defined(_WIN32) && !defined(_MSC_VER)
DLLEXPORT int inet_pton(int af, const char *src, void *dst)
{
struct addrinfo hints = {0};
struct addrinfo *res, *cur;
if (af != AF_INET && af != AF_INET6) {
// TODO: Should set socket_errno to EAFNOSUPPORT
return -1;
}
hints.ai_flags = AI_NUMERICHOST|AI_PASSIVE;
if(getaddrinfo(src, NULL, &hints, &res))
return -1;
for(cur = res; cur; cur++) {
if(cur->ai_addr->sa_family == af)
break;
}
if(!cur) {
freeaddrinfo(res);
return 0;
}
switch(af) {
case AF_INET:
memcpy(dst, &(((struct sockaddr_in *)cur)->sin_addr), sizeof(((struct sockaddr_in *)cur)->sin_addr));
break;
case AF_INET6:
memcpy(dst, &(((struct sockaddr_in6 *)cur)->sin6_addr), sizeof(((struct sockaddr_in6 *)cur)->sin6_addr));
break;
}
freeaddrinfo(res);
return 1;
}
#endif
......@@ -241,6 +241,10 @@ DLLEXPORT void inet_setaddrport(union xp_sockaddr *addr, uint16_t port);
DLLEXPORT BOOL inet_addrmatch(union xp_sockaddr* addr1, union xp_sockaddr* addr2);
DLLEXPORT char* socket_strerror(int, char*, size_t);
#if defined(_WIN32) && !defined(_MSC_VER)
DLLEXPORT int inet_pton(int af, const char *src, void *dst);
#endif
#ifdef __cplusplus
}
#endif
......
......@@ -2,7 +2,7 @@ load('recordfile.js');
require('recorddefs.js', 'Player_Def');
var pfile = new RecordFile('/synchronet/sbbs/xtrn/lord/player.dat',Player_Def);
var pfile = new RecordFile(argv[0] || 'player.bin',Player_Def);
var i;
var pl;
for (i=0; i<pfile.length; i++) {
......
......@@ -2856,6 +2856,7 @@ function daily_maint()
}
else if (settings.del_1xp && pl.exp === 1 && pl.drag_kills === 0) {
pl.name = 'X';
pl.real_name = 'X';
pl.put();
killmail(pl.Record);
if (state.married_to_seth === i) {
......@@ -2879,6 +2880,7 @@ function daily_maint()
}
else if (settings.delete_days > 0 && pl.time < (state.days - settings.delete_days)) {
pl.name = 'X';
pl.real_name = 'X';
pl.put();
killmail(pl.Record);
if (state.married_to_seth === i) {
......@@ -16040,6 +16042,7 @@ function main()
sln('');
player.on_now = false;
player.put();
generate_rankings(gamedir('scores.lrd'), true)
exit(0);
}
......@@ -16575,6 +16578,7 @@ function start() {
sclrscr();
sln('');
sln('');
generate_rankings(gamedir('scores.lrd'), true)
sln(' Leaving the realm.');
}
}
......@@ -16765,7 +16769,7 @@ function cmdline()
settings.menu_dir = argv[i];
}
else if (argv[i].toUpperCase() === 'RESET') {
if(!bbs || !deny("Reset LORD")) {
if(!js.global.bbs || !deny("Reset LORD")) {
file_remove(gamedir('state.bin'));
file_remove(gamedir('player.bin'));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment