Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/games/warp use strchr, strrchr, random, more lint removal, s...
details: https://anonhg.NetBSD.org/src/rev/1dbc770dff51
branches: trunk
changeset: 1016208:1dbc770dff51
user: christos <christos%NetBSD.org@localhost>
date: Wed Nov 11 19:55:33 2020 +0000
description:
use strchr, strrchr, random, more lint removal, savefile in /var/games/warp
not /usr/share/games/warp...
diffstat:
games/warp/config.h | 6 ------
games/warp/config.h.SH | 12 ++++++------
games/warp/config.sh | 2 +-
games/warp/init.c | 6 +-----
games/warp/intrp.c | 18 +++++++++---------
games/warp/score.c | 16 +++++++++-------
games/warp/score.h | 2 +-
games/warp/sig.c | 6 ++----
games/warp/term.c | 4 ++--
games/warp/util.h | 36 +++---------------------------------
games/warp/warp.c | 21 ++-------------------
11 files changed, 36 insertions(+), 93 deletions(-)
diffs (truncated from 383 to 300 lines):
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/config.h
--- a/games/warp/config.h Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/config.h Wed Nov 11 19:55:33 2020 +0000
@@ -85,12 +85,6 @@
*/
#define PREFSHELL "/bin/csh" /**/
-/* RANDBITS:
- * This symbol contains the number of bits of random number the rand()
- * function produces. Usual values are 15, 16, and 31.
- */
-#define RANDBITS 15 /**/
-
/* ROOTID:
* This symbol contains the uid of root, normally 0.
*/
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/config.h.SH
--- a/games/warp/config.h.SH Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/config.h.SH Wed Nov 11 19:55:33 2020 +0000
@@ -87,16 +87,16 @@
*/
#$d_havetlib HAVETERMLIB /**/
-/* index:
- * This preprocessor symbol is defined, along with rindex, if the system
+/* strchr:
+ * This preprocessor symbol is defined, along with strrchr, if the system
* uses the strchr and strrchr routines instead.
*/
-/* rindex:
- * This preprocessor symbol is defined, along with index, if the system
+/* strrchr:
+ * This preprocessor symbol is defined, along with strchr, if the system
* uses the strchr and strrchr routines instead.
*/
-#$d_index index strchr /* cultural */
-#$d_index rindex strrchr /* differences? */
+#$d_strchr strchr strchr /* cultural */
+#$d_strchr strrchr strrchr /* differences? */
/* IOCTL:
* This symbol, if defined, indicates that sys/ioctl.h exists and should
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/config.sh
--- a/games/warp/config.sh Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/config.sh Wed Nov 11 19:55:33 2020 +0000
@@ -60,7 +60,7 @@
d_getpwent='/*undef'
d_havetlib='define'
termlib='-ltermlib'
-d_index='/*undef'
+d_strchr='/*undef'
d_ioctl='define'
d_normsig='define'
jobslib=''
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/init.c
--- a/games/warp/init.c Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/init.c Wed Nov 11 19:55:33 2020 +0000
@@ -246,11 +246,9 @@
x = rand_mod(XSIZE); /* pick from 0..39, uniform */
break;
case 1: case 2: case 3:
-#ifndef lint
x = (int)((((double)(myrand()-HALFRAND)) *
((double)(myrand()-HALFRAND))/RANDRAND)
* 20.0) + xoff; /* pick from -20..20, clumped */
-#endif
break;
case 4:
if (fscanf(mapfp,"%d %d\n",&ypred,&xpred) == EOF)
@@ -271,11 +269,9 @@
y = rand_mod(YSIZE);
break;
case 1:
-#ifndef lint
y = (int)((((double)(myrand()-HALFRAND)) *
((double)(myrand()-HALFRAND))/RANDRAND)
* 12.0) + yoff; /* pick from -12..12, clumped */
-#endif
break;
case 2:
#ifndef lint
@@ -492,7 +488,7 @@
dist = rand_mod(20);
ch = let[dist];
- } /* grr, venix doesn't like indexing into string */
+ } /* grr, venix doesn't like strchring into string */
obj = make_object(Enemy,ch,y,x,0,0,
e + rand_mod(super*200+2),e/4,&root);
if (numpirates-- > 0) {
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/intrp.c
--- a/games/warp/intrp.c Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/intrp.c Wed Nov 11 19:55:33 2020 +0000
@@ -67,7 +67,7 @@
gethostname(buf,sizeof buf);
hostname = savestr(buf);
- if (index(hostname,'.'))
+ if (strchr(hostname,'.'))
hostname = savestr(hostname);
else {
char hname[128];
@@ -191,7 +191,7 @@
skipinterp(const char *pattern, const char *stoppers)
{
- while (*pattern && (!stoppers || !index(stoppers,*pattern))) {
+ while (*pattern && (!stoppers || !strchr(stoppers,*pattern))) {
#ifdef DEBUGGING
if (debug & 8)
printf("skipinterp till %s at %s\r\n",stoppers?stoppers:"",pattern);
@@ -276,7 +276,7 @@
bool lastcomp = false;
int metabit = 0;
- while (*pattern && (!stoppers || !index(stoppers,*pattern))) {
+ while (*pattern && (!stoppers || !strchr(stoppers,*pattern))) {
#ifdef DEBUGGING
if (debug & 8)
printf("dointerp till %s at %s\r\n",stoppers?stoppers:"",pattern);
@@ -294,7 +294,7 @@
break;
case '{':
pattern = cpytill(scrbuf,pattern+1,'}');
- if ((s = index(scrbuf,'-')) != NULL)
+ if ((s = strchr(scrbuf,'-')) != NULL)
*s++ = '\0';
else
s = nullstr;
@@ -424,7 +424,7 @@
safecpy(scrbuf,s,(sizeof scrbuf));
s = scrbuf;
}
- if (upper || !(t=rindex(s,'/')))
+ if (upper || !(t=strrchr(s,'/')))
t = s;
while (*t && !isalpha((unsigned char)*t)) {
t++;
@@ -531,9 +531,9 @@
#ifdef BERKJUNK
while (*s && !isalnum(*s) && *s != '&') s++;
#endif
- if ((c = index(s, ',')) != NULL)
+ if ((c = strchr(s, ',')) != NULL)
*c = '\0';
- if ((c = index(s, ';')) != NULL)
+ if ((c = strchr(s, ';')) != NULL)
*c = '\0';
s = cpytill(buf,s,'&');
if (*s == '&') { /* whoever thought this one up was */
@@ -544,9 +544,9 @@
*c = toupper((unsigned char)*c); /* gack and double gack */
}
#else
- if ((c = index(s, '(')) != NULL)
+ if ((c = strchr(s, '(')) != NULL)
*c = '\0';
- if ((c = index(s, '-')) != NULL)
+ if ((c = strchr(s, '-')) != NULL)
s = c;
strcpy(buf,tmpbuf);
#endif
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/score.c
--- a/games/warp/score.c Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/score.c Wed Nov 11 19:55:33 2020 +0000
@@ -39,7 +39,7 @@
printf("Cannot access %s\r\n",SAVEDIR);
finalize(1);
}
- if (filestat.st_gid != getegid()) {
+ if (filestat.st_gid != getegid() && geteuid() != 0) {
printf("Warp will not run right without being setgid.\r\n");
finalize(1);
}
@@ -63,7 +63,8 @@
if (scorespec)
wscore();
- snprintf(savefilename, sizeof(savefilename), "save.%s", logname);
+ snprintf(savefilename, sizeof(savefilename), "%s/save.%s",
+ SAVEDIR, logname);
savfil = experimenting ? NULL : fopen(savefilename,"r");
if (savfil != NULL && fgets(spbuf,100,savfil) != NULL) {
@@ -75,7 +76,7 @@
tmpbuf[strlen(tmpbuf)-1] = '\0';
printf("You seem to have left a game %s.\r\n",tmpbuf+9);
- s = index(tmpbuf+9, ',');
+ s = strchr(tmpbuf+9, ',');
*s = '\0';
processnum = atoi(s+11);
if (kill(processnum, SIGINT)) {
@@ -615,8 +616,8 @@
eat_typeahead();
do {
getcmd(&tmp);
- } while (tmp != INTRCH && tmp != BREAKCH && !index(" rqQ",tmp));
- if (index("qQr",tmp)) {
+ } while (tmp != INTRCH && tmp != BREAKCH && !strchr(" rqQ",tmp));
+ if (strchr("qQr",tmp)) {
justonemoretime = (tmp == 'r');
if (logfd != NULL)
fclose(logfd);
@@ -646,7 +647,7 @@
eat_typeahead();
do {
getcmd(&tmp);
- } while (tmp != INTRCH && tmp != BREAKCH && !index("nNyY \n\r",tmp));
+ } while (tmp != INTRCH && tmp != BREAKCH && !strchr("nNyY \n\r",tmp));
if (tmp == 'n' || tmp == 'N' || tmp == INTRCH || tmp == BREAKCH)
justonemoretime = false;
}
@@ -672,8 +673,9 @@
if (experimenting)
return;
if ((savfil = fopen(savefilename,"w")) == NULL) {
+ int e = errno;
resetty();
- printf("Cannot save game\r\n");
+ printf("Cannot save game in %s (%s)\r\n", savefilename, strerror(e));
finalize(1);
}
fprintf(savfil, "%-8s %10ld, %2d,%5d,%2d,%2d,%3d %c%c%c%c%c%c%c%c%c\n",
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/score.h
--- a/games/warp/score.h Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/score.h Wed Nov 11 19:55:33 2020 +0000
@@ -26,7 +26,7 @@
EXT long oldbenergy;
EXT long oldcurscore;
-EXT char savefilename[40];
+EXT char savefilename[512];
#ifdef SCOREFULL
#define COMPOFF 0
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/sig.c
--- a/games/warp/sig.c Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/sig.c Wed Nov 11 19:55:33 2020 +0000
@@ -25,9 +25,6 @@
void
sig_init(void)
{
-#ifdef lint
- ;
-#else
sigignore(SIGINT); /* for inquiry of existence via kill call */
#ifdef SIGTTOU
sigignore(SIGTTOU);
@@ -38,8 +35,10 @@
sigset(SIGQUIT, sig_catcher);
sigset(SIGILL, sig_catcher);
sigset(SIGFPE, sig_catcher);
+#if 0
sigset(SIGBUS, sig_catcher);
sigset(SIGSEGV, sig_catcher);
+#endif
sigset(SIGSYS, sig_catcher);
sigset(SIGTERM, sig_catcher);
}
@@ -53,7 +52,6 @@
sigset(SIGTSTP, stop_catcher);
sigset(SIGSTOP, stop_catcher);
#endif
-#endif /* lint */
}
#ifdef SIGTSTP
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/term.c
--- a/games/warp/term.c Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/term.c Wed Nov 11 19:55:33 2020 +0000
@@ -286,8 +286,8 @@
no_can_do("dumb");
if (!scorespec && (LINES < 24 || COLS < 80))
no_can_do("puny");
- if (LINES > 25)
- no_can_do("humongus");
+// if (LINES > 25)
+// no_can_do("humongous");
crmode();
raw();
diff -r 507961bf1238 -r 1dbc770dff51 games/warp/util.h
--- a/games/warp/util.h Wed Nov 11 19:54:53 2020 +0000
+++ b/games/warp/util.h Wed Nov 11 19:55:33 2020 +0000
@@ -6,49 +6,19 @@
*
*/
-#if RANDBITS < 15 || defined(lint)
-#define rand_mod(m) getpid()
-#define RANDRAND 0.0
-#define HALFRAND 0
-#define myrand() getpid()
-#else
-#if RANDBITS == 15 /* 15 bits of rand()? */
-#define RANDRAND 268435456.0 /* that's 2**28 */
-#define HALFRAND 0x4000 /* that's 2**14 */
-int rand(void);
-#define myrand() (rand()&32767)
Home |
Main Index |
Thread Index |
Old Index