-/* $NetBSD: main.c,v 1.13 1998/07/27 01:12:35 mycroft Exp $ */
+/* $NetBSD: main.c,v 1.16 2001/02/05 00:57:33 christos Exp $ */
/* main.c */
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: main.c,v 1.13 1998/07/27 01:12:35 mycroft Exp $");
+__RCSID("$NetBSD: main.c,v 1.16 2001/02/05 00:57:33 christos Exp $");
#endif /* not lint */
#include <sys/types.h>
const char *ptr = 0;
struct passwd *pwe;
+ i = 0;
euid = geteuid();
uid = getuid();
seteuid(uid); /* give up "games" if we have it */
init_term(); /* setup the terminal (find out what type)
* for termcap */
#endif /* VT100 */
- if (((ptr = getlogin()) == 0) || (*ptr == 0)) /* try to get login name */
- if ((pwe = getpwuid(getuid())) != NULL)/* can we get it from
- * /etc/passwd? */
+ /* try to get login name */
+ if (((ptr = getlogin()) == 0) || (*ptr == 0)) {
+ /* can we get it from /etc/passwd? */
+ if ((pwe = getpwuid(getuid())) != NULL)
ptr = pwe->pw_name;
else if ((ptr = getenv("USER")) == 0)
if ((ptr = getenv("LOGNAME")) == 0) {
noone: write(2, "Can't find your logname. Who Are You?\n", 39);
exit(1);
}
+ }
if (ptr == 0)
goto noone;
if (strlen(ptr) == 0)
strcpy(savefilename, ptr);
strcat(savefilename, "/Larn.sav"); /* save file name in home
* directory */
- sprintf(optsfile, "%s/.larnopts", ptr); /* the .larnopts filename */
+ snprintf(optsfile, sizeof(optsfile), "%s/.larnopts", ptr);
+ /* the .larnopts filename */
/*
* now malloc the memory for the dungeon
while (1) {
if ((i = whatitem("eat")) == '\33')
return;
- if (i != '.')
+ if (i != '.') {
if (i == '*')
showeat();
else {
lprcat("\nYou can't eat that!");
return;
}
+ }
}
}
lprintf("\nWhat do you want to %s [* for all] ? ", str);
i = 0;
while (i > 'z' || (i < 'a' && i != '*' && i != '\33' && i != '.'))
- i = getchar();
+ i = lgetchar();
if (i == '\33')
lprcat(" aborted");
return (i);
int i;
unsigned long amt = 0;
sncbr();
- if ((i = getchar()) == '*')
+ if ((i = lgetchar()) == '*')
amt = mx; /* allow him to say * for all gold */
else
while (i != '\n') {
}
if ((i <= '9') && (i >= '0') && (amt < 99999999))
amt = amt * 10 + i - '0';
- i = getchar();
+ i = lgetchar();
}
scbr();
return (amt);