Merge branch 'NetHack-3.7' into keni-fetchlua

This commit is contained in:
nhkeni
2024-07-26 20:20:34 -04:00
185 changed files with 4962 additions and 3959 deletions

View File

@@ -81,7 +81,7 @@ nhmain(int argc, char *argv[])
early_init(argc, argv);
gh.hname = argv[0];
gh.hackpid = getpid();
svh.hackpid = getpid();
(void) umask(0777 & ~FCMASK);
choose_windows(DEFAULT_WINDOW_SYS);
@@ -193,7 +193,7 @@ nhmain(int argc, char *argv[])
* It seems you really want to play.
*/
u.uhp = 1; /* prevent RIP on early quits */
gp.program_state.preserve_locks = 1;
program_state.preserve_locks = 1;
#ifndef NO_SIGNAL
sethanguphandler((SIG_RET_TYPE) hangup);
#endif
@@ -227,7 +227,7 @@ nhmain(int argc, char *argv[])
/* wizard mode access is deferred until here */
set_playmode(); /* sets plname to "wizard" for wizard mode */
/* hide any hyphens from plnamesuffix() */
gp.plnamelen = exact_username ? (int) strlen(gp.plname) : 0;
svp.plnamelen = exact_username ? (int) strlen(svp.plname) : 0;
/* strip role,race,&c suffix; calls askname() if plname[] is empty
or holds a generic user name like "player" or "games" */
plnamesuffix();
@@ -270,12 +270,12 @@ nhmain(int argc, char *argv[])
* clock, &c not currently in use in the playground directory
* (for gl.locknum > 0).
*/
if (*gp.plname) {
if (*svp.plname) {
getlock();
gp.program_state.preserve_locks = 0; /* after getlock() */
program_state.preserve_locks = 0; /* after getlock() */
}
if (*gp.plname && (nhfp = restore_saved_game()) != 0) {
if (*svp.plname && (nhfp = restore_saved_game()) != 0) {
const char *fq_save = fqname(gs.SAVEF, SAVEPREFIX, 1);
(void) chmod(fq_save, 0); /* disallow parallel restores */
@@ -306,7 +306,7 @@ nhmain(int argc, char *argv[])
}
if (!resuming) {
boolean neednewlock = (!*gp.plname);
boolean neednewlock = (!*svp.plname);
/* new game: start by choosing role, race, etc;
player might change the hero's name while doing that,
in which case we try to restore under the new name
@@ -315,7 +315,7 @@ nhmain(int argc, char *argv[])
if (!plsel_once)
player_selection();
plsel_once = TRUE;
if (neednewlock && *gp.plname)
if (neednewlock && *svp.plname)
goto attempt_restore;
if (iflags.renameinprogress) {
/* player has renamed the hero while selecting role;
@@ -381,13 +381,13 @@ process_options(int argc, char *argv[])
#endif
case 'u':
if (argv[0][2]) {
(void) strncpy(gp.plname, argv[0] + 2, sizeof gp.plname - 1);
gp.plnamelen = 0; /* plname[] might have -role-race attached */
(void) strncpy(svp.plname, argv[0] + 2, sizeof svp.plname - 1);
svp.plnamelen = 0; /* plname[] might have -role-race attached */
} else if (argc > 1) {
argc--;
argv++;
(void) strncpy(gp.plname, argv[0], sizeof gp.plname - 1);
gp.plnamelen = 0;
(void) strncpy(svp.plname, argv[0], sizeof svp.plname - 1);
svp.plnamelen = 0;
} else {
raw_print("Player name expected after -u");
}
@@ -534,7 +534,7 @@ whoami(void)
* Note that we trust the user here; it is possible to play under
* somebody else's name.
*/
if (!*gp.plname) {
if (!*svp.plname) {
const char *s;
s = nh_getenv("USER");
@@ -544,8 +544,8 @@ whoami(void)
s = getlogin();
if (s && *s) {
(void) strncpy(gp.plname, s, sizeof gp.plname - 1);
if (strchr(gp.plname, '-'))
(void) strncpy(svp.plname, s, sizeof svp.plname - 1);
if (strchr(svp.plname, '-'))
return TRUE;
}
}
@@ -672,7 +672,7 @@ check_user_string(const char *optstr)
if (optstr[0] == '*')
return TRUE; /* allow any user */
if (sysopt.check_plname)
pwname = gp.plname;
pwname = svp.plname;
else if ((pw = get_unix_pw()) != 0)
pwname = pw->pw_name;
if (!pwname || !*pwname)
@@ -1066,7 +1066,7 @@ void js_globals_init() {
});
/* globals */
CREATE_GLOBAL(gp.plname, "s");
CREATE_GLOBAL(svp.plname, "s");
/* window globals */
CREATE_GLOBAL(WIN_MAP, "i");

View File

@@ -36,7 +36,7 @@ pckeys(unsigned char scancode, unsigned char shift)
{
boolean opening_dialog;
opening_dialog = gp.pl_character[0] ? FALSE : TRUE;
opening_dialog = svp.pl_character[0] ? FALSE : TRUE;
switch (scancode) {
#ifdef SIMULATE_CURSOR
case 0x3d: /* F3 = toggle cursor type */

View File

@@ -794,7 +794,7 @@ vesa_cliparound(int x, int y)
clipymax = ROWNO - 1;
}
if (clipx != oldx || clipy != oldy) {
if (on_level(&u.uz0, &u.uz) && !gp.program_state.restoring)
if (on_level(&u.uz0, &u.uz) && !program_state.restoring)
/* (void) doredraw(); */
vesa_redrawmap();
}

View File

@@ -472,7 +472,7 @@ vga_cliparound(int x, int y UNUSED)
clipx = clipxmax - (viewport_size - 1);
}
if (clipx != oldx) {
if (on_level(&u.uz0, &u.uz) && !gp.program_state.restoring)
if (on_level(&u.uz0, &u.uz) && !program_state.restoring)
/* (void) doredraw(); */
vga_redrawmap(1);
}

View File

@@ -411,19 +411,19 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
* overwritten without confirmation when a user starts up
* another game with the same player name.
*/
Strcpy(gl.lock, gp.plname);
Strcpy(gl.lock, svp.plname);
regularize(gl.lock);
getlock();
#else /* What follows is !PC_LOCKING */
#ifdef AMIGA /* We'll put the bones & levels in the user specified directory \
-jhsa */
Strcat(gl.lock, gp.plname);
Strcat(gl.lock, svp.plname);
Strcat(gl.lock, ".99");
#else
/* I'm not sure what, if anything, is left here, but old MFLOPPY had
* conflicts with set_lock_and_bones() in files.c.
*/
Strcpy(gl.lock, gp.plname);
Strcpy(gl.lock, svp.plname);
Strcat(gl.lock, ".99");
regularize(gl.lock); /* is this necessary? */
/* not compatible with full path a la AMIGA */
@@ -436,9 +436,9 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
if (!nhfp) {
raw_print("Cannot create lock file");
} else {
gh.hackpid = 1;
svh.hackpid = 1;
if (nhfp->structlevel)
write(nhfp->fd, (genericptr_t) &gh.hackpid, sizeof(gh.hackpid));
write(nhfp->fd, (genericptr_t) &svh.hackpid, sizeof(svh.hackpid));
close_nhfile(nhfp);
}
@@ -549,11 +549,11 @@ process_options(int argc, char *argv[])
#endif
case 'u':
if (argv[0][2])
(void) strncpy(gp.plname, argv[0] + 2, sizeof(gp.plname) - 1);
(void) strncpy(svp.plname, argv[0] + 2, sizeof(svp.plname) - 1);
else if (argc > 1) {
argc--;
argv++;
(void) strncpy(gp.plname, argv[0], sizeof(gp.plname) - 1);
(void) strncpy(svp.plname, argv[0], sizeof(svp.plname) - 1);
} else
raw_print("Player name expected after -u");
break;
@@ -715,7 +715,7 @@ port_help(void)
boolean
authorize_wizard_mode(void)
{
if (!strcmp(gp.plname, WIZARD_NAME))
if (!strcmp(svp.plname, WIZARD_NAME))
return TRUE;
return FALSE;
}

View File

@@ -179,8 +179,8 @@ gotlock:
#endif
error("cannot creat file (%s.)", fq_lock);
} else {
if (write(fd, (char *) &gh.hackpid, sizeof(gh.hackpid))
!= sizeof(gh.hackpid)) {
if (write(fd, (char *) &svh.hackpid, sizeof(svh.hackpid))
!= sizeof(svh.hackpid)) {
#if defined(CHDIR) && !defined(NOCWD_ASSUMPTIONS)
chdirx(orgdir, 0);
#endif

View File

@@ -1,5 +1,5 @@
# NetHack Top-level Makefile.
# NetHack 3.7 Makefile.top $NHDT-Date: 1693519381 2023/08/31 22:03:01 $ $NHDT-Branch: keni-crashweb2 $:$NHDT-Revision: 1.91 $
# NetHack 3.7 Makefile.top $NHDT-Date: 1722019636 2024/07/26 18:47:16 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.106 $
# Copyright (c) 2015 by Kenneth Lorber, Kensington, Maryland
# NetHack may be freely redistributed. See license for details.
@@ -352,8 +352,8 @@ fetch-Lua:
curlstatus=$$?; \
if [ $$curlstatus -eq 0 ]; then \
if [ ! -z "$$shac" ]; then \
echo Checking integrity with $$shac; \
$$shac -w -c ../submodules/CHKSUMS < $$luafile; \
echo Checking integrity of $$luafile with $$shac; \
$$shac -w --ignore-missing -c ../submodules/CHKSUMS < $$luafile; \
fi; \
tar zxf $$luafile && \
rm -f $$luafile; \

View File

@@ -99,7 +99,7 @@ main(int argc, char *argv[])
#endif
gh.hname = argv[0];
gh.hackpid = getpid();
svh.hackpid = getpid();
(void) umask(0777 & ~FCMASK);
choose_windows(DEFAULT_WINDOW_SYS);
@@ -164,7 +164,7 @@ main(int argc, char *argv[])
*/
u.uhp = 1; /* prevent RIP on early quits */
#if defined(HANGUPHANDLING)
gp.program_state.preserve_locks = 1;
program_state.preserve_locks = 1;
#ifndef NO_SIGNAL
sethanguphandler((SIG_RET_TYPE) hangup);
#endif
@@ -195,7 +195,7 @@ main(int argc, char *argv[])
/* wizard mode access is deferred until here */
set_playmode(); /* sets plname to "wizard" for wizard mode */
/* hide any hyphens from plnamesuffix() */
gp.plnamelen = exact_username ? (int) strlen(gp.plname) : 0;
gp.plnamelen = exact_username ? (int) strlen(svp.plname) : 0;
/* strip role,race,&c suffix; calls askname() if plname[] is empty
or holds a generic user name like "player" or "games" */
plnamesuffix();
@@ -236,14 +236,14 @@ main(int argc, char *argv[])
* clock, &c not currently in use in the playground directory
* (for gl.locknum > 0).
*/
if (*gp.plname) {
if (*svp.plname) {
getlock();
#if defined(HANGUPHANDLING)
gp.program_state.preserve_locks = 0; /* after getlock() */
program_state.preserve_locks = 0; /* after getlock() */
#endif
}
if (*gp.plname && (nhfp = restore_saved_game()) != 0) {
if (*svp.plname && (nhfp = restore_saved_game()) != 0) {
const char *fq_save = fqname(gs.SAVEF, SAVEPREFIX, 1);
(void) chmod(fq_save, 0); /* disallow parallel restores */
@@ -276,13 +276,13 @@ main(int argc, char *argv[])
}
}
}
if (gp.program_state.in_self_recover) {
gp.program_state.in_self_recover = FALSE;
if (program_state.in_self_recover) {
program_state.in_self_recover = FALSE;
}
}
if (!resuming) {
boolean neednewlock = (!*gp.plname);
boolean neednewlock = (!*svp.plname);
/* new game: start by choosing role, race, etc;
player might change the hero's name while doing that,
in which case we try to restore under the new name
@@ -291,7 +291,7 @@ main(int argc, char *argv[])
if (!plsel_once)
player_selection();
plsel_once = TRUE;
if (neednewlock && *gp.plname)
if (neednewlock && *svp.plname)
goto attempt_restore;
if (iflags.renameinprogress) {
/* player has renamed the hero while selecting role;
@@ -474,12 +474,12 @@ process_options(int argc, char *argv[])
break;
case 'u':
if (arg[2]) {
(void) strncpy(gp.plname, arg + 2, sizeof gp.plname - 1);
(void) strncpy(svp.plname, arg + 2, sizeof svp.plname - 1);
gp.plnamelen = 0; /* plname[] might have -role-race attached */
} else if (argc > 1) {
argc--;
argv++;
(void) strncpy(gp.plname, argv[0], sizeof gp.plname - 1);
(void) strncpy(svp.plname, argv[0], sizeof svp.plname - 1);
gp.plnamelen = 0;
} else {
config_error_add("Character name expected after -u");
@@ -916,7 +916,7 @@ whoami(void)
* Note that we trust the user here; it is possible to play under
* somebody else's name.
*/
if (!*gp.plname) {
if (!*svp.plname) {
register const char *s;
s = nh_getenv("USER");
@@ -926,8 +926,8 @@ whoami(void)
s = getlogin();
if (s && *s) {
(void) strncpy(gp.plname, s, sizeof gp.plname - 1);
if (strchr(gp.plname, '-'))
(void) strncpy(svp.plname, s, sizeof svp.plname - 1);
if (strchr(svp.plname, '-'))
return TRUE;
}
}
@@ -1052,7 +1052,7 @@ check_user_string(const char *optstr)
if (optstr[0] == '*')
return TRUE; /* allow any user */
if (sysopt.check_plname)
pwname = gp.plname;
pwname = svp.plname;
else if ((pw = get_unix_pw()) != 0)
pwname = pw->pw_name;
if (!pwname || !*pwname)

View File

@@ -82,7 +82,7 @@ eraseoldlocks(void)
int i;
#if defined(HANGUPHANDLING)
gp.program_state.preserve_locks = 0; /* not required but shows intent */
program_state.preserve_locks = 0; /* not required but shows intent */
/* cannot use maxledgerno() here, because we need to find a lock name
* before starting everything (including the dungeon initialization
* that sets astral_level, needed for maxledgerno()) up
@@ -132,7 +132,7 @@ getlock(void)
'a','b',&c below; override the default and use <uid><charname>
if we aren't restricting the number of simultaneous games */
if (!gl.locknum)
Sprintf(gl.lock, "%u%s", (unsigned) getuid(), gp.plname);
Sprintf(gl.lock, "%u%s", (unsigned) getuid(), svp.plname);
regularize(gl.lock);
set_levelfile_name(gl.lock, 0);
@@ -216,7 +216,7 @@ getlock(void)
}
#ifdef SELF_RECOVER
if (c == 'r' || c == 'R') {
if (recover_savefile() && gp.program_state.in_self_recover) {
if (recover_savefile() && program_state.in_self_recover) {
set_levelfile_name(gl.lock, 0);
fq_lock = fqname(gl.lock, LEVELPREFIX, 0);
goto gotlock;
@@ -246,8 +246,8 @@ getlock(void)
error("cannot creat lock file (%s).", fq_lock);
/*NOTREACHED*/
} else {
if (write(fd, (genericptr_t) &gh.hackpid, sizeof gh.hackpid)
!= sizeof gh.hackpid) {
if (write(fd, (genericptr_t) &svh.hackpid, sizeof svh.hackpid)
!= sizeof svh.hackpid) {
error("cannot write lock (%s)", fq_lock);
/*NOTREACHED*/
}

View File

@@ -58,7 +58,7 @@ main(int argc, char *argv[])
isn't at risk of getting clobbered by core's handling of DEBUGFILES */
progname = dupstr(vms_basename(argv[0], FALSE));
gh.hname = progname;
gh.hackpid = getpid();
svh.hackpid = getpid();
(void) umask(0);
choose_windows(DEFAULT_WINDOW_SYS);
@@ -281,11 +281,11 @@ process_options(int argc, char *argv[])
#endif
case 'u':
if (argv[0][2])
(void) strncpy(gp.plname, argv[0] + 2, sizeof(gp.plname) - 1);
(void) strncpy(svp.plname, argv[0] + 2, sizeof(svp.plname) - 1);
else if (argc > 1) {
argc--;
argv++;
(void) strncpy(gp.plname, argv[0], sizeof(gp.plname) - 1);
(void) strncpy(svp.plname, argv[0], sizeof(svp.plname) - 1);
} else
raw_print("Player name expected after -u");
break;
@@ -390,8 +390,8 @@ whoami(void)
*/
char *s;
if (!*gp.plname && (s = nh_getenv("USER")))
(void) lcase(strncpy(gp.plname, s, sizeof(gp.plname) - 1));
if (!*svp.plname && (s = nh_getenv("USER")))
(void) lcase(strncpy(svp.plname, s, sizeof(svp.plname) - 1));
}
static void
@@ -412,7 +412,7 @@ byebye(void)
(void) sys$delprc(&mail_pid, (genericptr_t) 0), mail_pid = 0;
#endif
#ifdef FREE_ALL_MEMORY
if (progname && !gp.program_state.panicking) {
if (progname && !program_state.panicking) {
if (gh.hname == progname)
gh.hname = (char *) 0;
free((genericptr_t) progname), progname = (char *) 0;
@@ -421,7 +421,7 @@ byebye(void)
/* SIGHUP doesn't seem to do anything on VMS, so we fudge it here... */
hup = (void (*)(int)) signal(SIGHUP, SIG_IGN);
if (!gp.program_state.exiting++
if (!program_state.exiting++
&& hup != (void (*)(int)) SIG_DFL
&& hup != (void (*)(int)) SIG_IGN) {
(*hup)(SIGHUP);
@@ -446,7 +446,7 @@ genericptr_t mechargs) /* [0] is argc, [1..argc] are the real args */
if (condition == SS$_ACCVIO /* access violation */
|| (condition >= SS$_ASTFLT && condition <= SS$_TBIT)
|| (condition >= SS$_ARTRES && condition <= SS$_INHCHME)) {
gp.program_state.done_hup = TRUE; /* pretend hangup has been attempted */
program_state.done_hup = TRUE; /* pretend hangup has been attempted */
#if (NH_DEVEL_STATUS == NH_STATUS_RELEASED)
if (wizard)
#endif

View File

@@ -158,7 +158,7 @@ vms_getchar(void)
static volatile int recurse = 0; /* SMG is not AST re-entrant! */
#endif
if (gp.program_state.done_hup) {
if (program_state.done_hup) {
/* hangup has occurred; do not attempt to get further user input */
return ESC;
}

View File

@@ -120,7 +120,7 @@ getlock(void)
'a','b',&c below; override the default and use <uid><charname>
if we aren't restricting the number of simultaneous games */
if (!gl.locknum)
Sprintf(gl.lock, "_%u%s", (unsigned) getuid(), gp.plname);
Sprintf(gl.lock, "_%u%s", (unsigned) getuid(), svp.plname);
regularize(gl.lock);
set_levelfile_name(gl.lock, 0);
@@ -154,8 +154,8 @@ getlock(void)
if (fd == -1) {
error("cannot creat lock file.");
} else {
if (write(fd, (char *) &gh.hackpid, sizeof(gh.hackpid))
!= sizeof(gh.hackpid)) {
if (write(fd, (char *) &svh.hackpid, sizeof(svh.hackpid))
!= sizeof(svh.hackpid)) {
error("cannot write lock");
}
if (close(fd) == -1) {

View File

@@ -8,8 +8,8 @@
# MS Visual Studio Visual C++ compiler
#
# Visual Studio Compilers Tested:
# - Microsoft Visual Studio 2019 Community Edition v 16.11.37
# - Microsoft Visual Studio 2022 Community Edition v 17.10.2
# - Microsoft Visual Studio 2019 Community Edition v 16.11.38
# - Microsoft Visual Studio 2022 Community Edition v 17.10.4
#
#==============================================================================
# This is used for building two distinct executables of NetHack:
@@ -985,7 +985,7 @@ rc=Rc.exe
#
# Recently tested versions:
TESTEDVS2019 = 14.29.30154.0
TESTEDVS2022 = 14.40.33811.0
TESTEDVS2022 = 14.40.33812.0
VS2019CUR = $(TESTEDVS2019:.=)
VS2022CUR = $(TESTEDVS2022:.=)

View File

@@ -936,7 +936,7 @@ void buffer_fill_to_end(cell_t * buffer, cell_t * fill, int x, int y)
while (dst != sentinel)
*dst++ = *fill;
if ((iflags.debug.immediateflips || !gp.program_state.in_moveloop)
if ((iflags.debug.immediateflips || !program_state.in_moveloop)
&& buffer == console.back_buffer)
back_buffer_flip();
}
@@ -952,7 +952,7 @@ static void buffer_clear_to_end_of_line(cell_t * buffer, int x, int y)
while (dst != sentinel)
*dst++ = clear_cell;
if (iflags.debug.immediateflips || !gp.program_state.in_moveloop)
if (iflags.debug.immediateflips || !program_state.in_moveloop)
back_buffer_flip();
}
@@ -964,7 +964,7 @@ void buffer_write(cell_t * buffer, cell_t * cell, COORD pos)
cell_t * dst = buffer + (console.width * pos.Y) + pos.X;
*dst = *cell;
if ((iflags.debug.immediateflips || !gp.program_state.in_moveloop)
if ((iflags.debug.immediateflips || !program_state.in_moveloop)
&& buffer == console.back_buffer)
back_buffer_flip();
}
@@ -1149,7 +1149,7 @@ tgetch(void)
numpad |= 0x10;
#endif
return (gp.program_state.done_hup)
return (program_state.done_hup)
? '\033'
: keyboard_handling.pCheckInput(
console.hConIn, &ir, &count, numpad, 0, &mod, &cc);
@@ -1177,7 +1177,7 @@ console_poskey(coordxy *x, coordxy *y, int *mod)
if (gc.Cmd.swap_yz)
numpad |= 0x10;
#endif
ch = (gp.program_state.done_hup)
ch = (program_state.done_hup)
? '\033'
: keyboard_handling.pCheckInput(
console.hConIn, &ir, &count, numpad, 1, mod, &cc);

View File

@@ -704,17 +704,17 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
(*utf8graphics_mode_callback)();
#endif
/* strip role,race,&c suffix; calls askname() if gp.plname[] is empty
/* strip role,race,&c suffix; calls askname() if svp.plname[] is empty
or holds a generic user name like "player" or "games" */
plnamesuffix();
set_playmode(); /* sets gp.plname to "wizard" for wizard mode */
set_playmode(); /* sets svp.plname to "wizard" for wizard mode */
/* until the getlock code is resolved, override askname()'s
setting of renameallowed; when False, player_selection()
won't resent renaming as an option */
iflags.renameallowed = FALSE;
/* Obtain the name of the logged on user and incorporate
* it into the name. */
Sprintf(fnamebuf, "%s", gp.plname);
Sprintf(fnamebuf, "%s", svp.plname);
(void) fname_encode(
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-.", '%',
fnamebuf, encodedfnamebuf, BUFSZ);
@@ -732,8 +732,8 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
if (!nhfp) {
raw_print("Cannot create lock file");
} else {
gh.hackpid = GetCurrentProcessId();
(void) write(nhfp->fd, (genericptr_t) &gh.hackpid, sizeof(gh.hackpid));
svh.hackpid = GetCurrentProcessId();
(void) write(nhfp->fd, (genericptr_t) &svh.hackpid, sizeof(svh.hackpid));
close_nhfile(nhfp);
}
/*
@@ -771,8 +771,8 @@ attempt_restore:
}
}
}
if (gp.program_state.in_self_recover) {
gp.program_state.in_self_recover = FALSE;
if (program_state.in_self_recover) {
program_state.in_self_recover = FALSE;
set_savefile_name(TRUE);
}
}
@@ -923,11 +923,11 @@ process_options(int argc, char * argv[])
#endif
case 'u':
if (argv[0][2])
(void) strncpy(gp.plname, argv[0] + 2, sizeof(gp.plname) - 1);
(void) strncpy(svp.plname, argv[0] + 2, sizeof(svp.plname) - 1);
else if (argc > 1) {
argc--;
argv++;
(void) strncpy(gp.plname, argv[0], sizeof(gp.plname) - 1);
(void) strncpy(svp.plname, argv[0], sizeof(svp.plname) - 1);
} else
raw_print("Player name expected after -u");
break;
@@ -1052,7 +1052,7 @@ port_help(void)
boolean
authorize_wizard_mode(void)
{
if (!strcmp(gp.plname, WIZARD_NAME))
if (!strcmp(svp.plname, WIZARD_NAME))
return TRUE;
return FALSE;
}
@@ -1417,8 +1417,8 @@ gotlock:
gf.fqn_prefix[LEVELPREFIX]);
raw_print(oops);
} else {
if (write(fd, (char *) &gh.hackpid, sizeof(gh.hackpid))
!= sizeof(gh.hackpid)) {
if (write(fd, (char *) &svh.hackpid, sizeof(svh.hackpid))
!= sizeof(svh.hackpid)) {
#if defined(CHDIR) && !defined(NOCWD_ASSUMPTIONS)
chdirx(orgdir, 0);
#endif