]> git.cameronkatri.com Git - bsdgames-darwin.git/commitdiff
This patch fixes adventure(6) to use `extern' on declarations of
authorhubertf <hubertf@NetBSD.org>
Wed, 28 Jul 1999 23:23:39 +0000 (23:23 +0000)
committerhubertf <hubertf@NetBSD.org>
Wed, 28 Jul 1999 23:23:39 +0000 (23:23 +0000)
objects in its header file, and to add corresponding definitions to
init.c accordingly.  (See the C standard - relying on linker commons
where there are multiple uninitialised declarations of an object in
the program traditionally works on Unix, but is not standard C.)

The patch also removes a bit-rotten code fragment under #ifdef
OLDSTUFF.

Patch submitted in PR 8105 by Joseph Myers <jsm28@cam.ac.uk>

adventure/hdr.h
adventure/init.c

index 68b38bf4d1804a7f878ae137d776a135ea452db2..bf33661d20d2dc4c6b0328f6c31f190ca91df8ff 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: hdr.h,v 1.7 1999/07/16 01:38:20 hubertf Exp $  */
+/*     $NetBSD: hdr.h,v 1.8 1999/07/28 23:23:39 hubertf Exp $  */
 
 /*-
  * Copyright (c) 1991, 1993
 
 /*-
  * Copyright (c) 1991, 1993
@@ -60,9 +60,9 @@
 
 #include <signal.h>
 
 
 #include <signal.h>
 
-int     datfd;                 /* message file descriptor */
-volatile sig_atomic_t delhit;
-int     yea;
+extern int     datfd;                  /* message file descriptor */
+extern volatile sig_atomic_t delhit;
+extern int     yea;
 extern char data_file[];       /* Virtual data file */
 
 #define TAB     011
 extern char data_file[];       /* Virtual data file */
 
 #define TAB     011
@@ -70,81 +70,77 @@ extern char data_file[];    /* Virtual data file */
 #define FLUSHLINE do { int flushline_ch; while ((flushline_ch = getchar()) != EOF && flushline_ch != '\n'); } while (0)
 #define FLUSHLF   while (next()!=LF)
 
 #define FLUSHLINE do { int flushline_ch; while ((flushline_ch = getchar()) != EOF && flushline_ch != '\n'); } while (0)
 #define FLUSHLF   while (next()!=LF)
 
-int     loc, newloc, oldloc, oldlc2, wzdark, gaveup, kq, k, k2;
-char   *wd1, *wd2;             /* the complete words */
-int     verb, obj, spk;
+extern int     loc, newloc, oldloc, oldlc2, wzdark, gaveup, kq, k, k2;
+extern char   *wd1, *wd2;              /* the complete words */
+extern int     verb, obj, spk;
 extern int blklin;
 extern int blklin;
-int     saveday, savet, mxscor, latncy;
+extern int     saveday, savet, mxscor, latncy;
 
 #define SHORT 50               /* How short is a demo game? */
 
 #define MAXSTR  20             /* max length of user's words */
 
 #define HTSIZE  512            /* max number of vocab words */
 
 #define SHORT 50               /* How short is a demo game? */
 
 #define MAXSTR  20             /* max length of user's words */
 
 #define HTSIZE  512            /* max number of vocab words */
-struct hashtab {               /* hash table for vocabulary */
+extern struct hashtab {                /* hash table for vocabulary */
        int     val;            /* word type &index (ktab) */
        char   *atab;           /* pointer to actual string */
 }       voc[HTSIZE];
 #define SEED 1815622           /* "Encryption" seed */
 
 struct text
        int     val;            /* word type &index (ktab) */
        char   *atab;           /* pointer to actual string */
 }       voc[HTSIZE];
 #define SEED 1815622           /* "Encryption" seed */
 
 struct text
-#ifdef OLDSTUFF
-{
-       int     seekadr;        /* DATFILE must be < 2**16 */
-#endif /* OLDSTUFF */
        {
                char   *seekadr;/* Msg start in virtual disk */
                int     txtlen; /* length of msg starting here */
        };
 
 #define RTXSIZ  205
        {
                char   *seekadr;/* Msg start in virtual disk */
                int     txtlen; /* length of msg starting here */
        };
 
 #define RTXSIZ  205
-       struct text rtext[RTXSIZ];      /* random text messages */
+extern struct text rtext[RTXSIZ];      /* random text messages */
 
 #define MAGSIZ  35
 
 #define MAGSIZ  35
-       struct text mtext[MAGSIZ];      /* magic messages */
+extern struct text mtext[MAGSIZ];      /* magic messages */
 
 
-       int     clsses;
+extern int     clsses;
 #define CLSMAX  12
 #define CLSMAX  12
-       struct text ctext[CLSMAX];      /* classes of adventurer */
-       int     cval[CLSMAX];
+extern struct text ctext[CLSMAX];      /* classes of adventurer */
+extern int     cval[CLSMAX];
 
 
-       struct text ptext[101];         /* object descriptions */
+extern struct text ptext[101];         /* object descriptions */
 
 #define LOCSIZ  141                    /* number of locations */
 
 #define LOCSIZ  141                    /* number of locations */
-       struct text ltext[LOCSIZ];      /* long loc description */
-       struct text stext[LOCSIZ];      /* short loc descriptions */
+extern struct text ltext[LOCSIZ];      /* long loc description */
+extern struct text stext[LOCSIZ];      /* short loc descriptions */
 
 
-       struct travlist {               /* direcs & conditions of travel */
+extern struct travlist {               /* direcs & conditions of travel */
                struct travlist *next;  /* ptr to next list entry */
                int     conditions;     /* m in writeup (newloc / 1000) */
                int     tloc;           /* n in writeup (newloc % 1000) */
                int     tverb;          /* the verb that takes you there */
        }      *travel[LOCSIZ], *tkk;   /* travel is closer to keys(...) */
 
                struct travlist *next;  /* ptr to next list entry */
                int     conditions;     /* m in writeup (newloc / 1000) */
                int     tloc;           /* n in writeup (newloc % 1000) */
                int     tverb;          /* the verb that takes you there */
        }      *travel[LOCSIZ], *tkk;   /* travel is closer to keys(...) */
 
-       int     atloc[LOCSIZ];
+extern int     atloc[LOCSIZ];
 
 
-       int     plac[101];              /* initial object placement */
-       int     fixd[101], fixed[101];  /* location fixed? */
+extern int     plac[101];              /* initial object placement */
+extern int     fixd[101], fixed[101];  /* location fixed? */
 
 
-       int     actspk[35];             /* rtext msg for verb <n> */
+extern int     actspk[35];             /* rtext msg for verb <n> */
 
 
-       int     cond[LOCSIZ];           /* various condition bits */
+extern int     cond[LOCSIZ];           /* various condition bits */
 
        extern int setbit[16];          /* bit defn masks 1,2,4,... */
 
 
        extern int setbit[16];          /* bit defn masks 1,2,4,... */
 
-       int     hntmax;
-       int     hints[20][5];           /* info on hints */
-       int     hinted[20], hintlc[20];
+extern int     hntmax;
+extern int     hints[20][5];           /* info on hints */
+extern int     hinted[20], hintlc[20];
 
 
-       int     place[101], prop[101], links[201];
-       int     abb[LOCSIZ];
+extern int     place[101], prop[101], links[201];
+extern int     abb[LOCSIZ];
 
 
-       int     maxtrs, tally, tally2;  /* treasure values */
+extern int     maxtrs, tally, tally2;  /* treasure values */
 
 #define FALSE   0
 #define TRUE    1
 
 
 #define FALSE   0
 #define TRUE    1
 
-       int     keys, lamp, grate, cage, rod, rod2, steps,      /* mnemonics */
+extern int     keys, lamp, grate, cage, rod, rod2, steps,      /* mnemonics */
                bird, door, pillow, snake, fissur, tablet, clam, oyster,
                magzin, dwarf, knife, food, bottle, water, oil, plant, plant2,
                axe, mirror, dragon, chasm, troll, troll2, bear, messag,
                bird, door, pillow, snake, fissur, tablet, clam, oyster,
                magzin, dwarf, knife, food, bottle, water, oil, plant, plant2,
                axe, mirror, dragon, chasm, troll, troll2, bear, messag,
@@ -153,15 +149,15 @@ struct text
                null, entrnc, dprssn, enter, stream, pour, say, lock, throw,
                find, invent;
 
                null, entrnc, dprssn, enter, stream, pour, say, lock, throw,
                find, invent;
 
-       int     chloc, chloc2, dseen[7], dloc[7],       /* dwarf stuff */
+extern int     chloc, chloc2, dseen[7], dloc[7],       /* dwarf stuff */
                odloc[7], dflag, daltlc;
 
                odloc[7], dflag, daltlc;
 
-       int     tk[21], stick, dtotal, attack;
-       int     turns, lmwarn, iwest, knfloc, detail,   /* various flags and
+extern int     tk[21], stick, dtotal, attack;
+extern int     turns, lmwarn, iwest, knfloc, detail,   /* various flags and
                                                         * counters */
                abbnum, maxdie, numdie, holdng, dkill, foobar, bonus, clock1,
                clock2, saved, closng, panic, closed, scorng;
 
                                                         * counters */
                abbnum, maxdie, numdie, holdng, dkill, foobar, bonus, clock1,
                clock2, saved, closng, panic, closed, scorng;
 
-       int     demo, newloc, limit;
+extern int     demo, newloc, limit;
 
 #define DECR(a,b,c,d,e) decr(a+'+',b+'-',c+'#',d+'&',e+'%')
 
 #define DECR(a,b,c,d,e) decr(a+'+',b+'-',c+'#',d+'&',e+'%')
index b518f2e91990637764d1649c7bde213e0d7a4736..b515710a78bb5f9a9cf469220b4da68710372b22 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: init.c,v 1.11 1999/02/10 12:38:54 hubertf Exp $        */
+/*     $NetBSD: init.c,v 1.12 1999/07/28 23:23:39 hubertf Exp $        */
 
 /*-
  * Copyright (c) 1993
 
 /*-
  * Copyright (c) 1993
@@ -43,7 +43,7 @@
 #if 0
 static char sccsid[] = "@(#)init.c     8.1 (Berkeley) 6/2/93";
 #else
 #if 0
 static char sccsid[] = "@(#)init.c     8.1 (Berkeley) 6/2/93";
 #else
-__RCSID("$NetBSD: init.c,v 1.11 1999/02/10 12:38:54 hubertf Exp $");
+__RCSID("$NetBSD: init.c,v 1.12 1999/07/28 23:23:39 hubertf Exp $");
 #endif
 #endif /* not lint */
 
 #endif
 #endif /* not lint */
 
@@ -64,6 +64,70 @@ int     blklin = TRUE;
 int     setbit[16] = {1, 2, 4, 010, 020, 040, 0100, 0200, 0400, 01000, 02000, 04000,
 010000, 020000, 040000, 0100000};
 
 int     setbit[16] = {1, 2, 4, 010, 020, 040, 0100, 0200, 0400, 01000, 02000, 04000,
 010000, 020000, 040000, 0100000};
 
+int     datfd;                 /* message file descriptor */
+volatile sig_atomic_t delhit;
+int     yea;
+
+int     loc, newloc, oldloc, oldlc2, wzdark, gaveup, kq, k, k2;
+char   *wd1, *wd2;             /* the complete words */
+int     verb, obj, spk;
+int     saveday, savet, mxscor, latncy;
+
+struct hashtab voc[HTSIZE];
+
+struct text rtext[RTXSIZ];     /* random text messages */
+
+struct text mtext[MAGSIZ];     /* magic messages */
+
+int     clsses;
+
+struct text ctext[CLSMAX];     /* classes of adventurer */
+int     cval[CLSMAX];
+
+struct text ptext[101];                /* object descriptions */
+
+struct text ltext[LOCSIZ];     /* long loc description */
+struct text stext[LOCSIZ];     /* short loc descriptions */
+
+struct travlist *travel[LOCSIZ], *tkk; /* travel is closer to keys(...) */
+
+int     atloc[LOCSIZ];
+
+int     plac[101];             /* initial object placement */
+int     fixd[101], fixed[101]; /* location fixed? */
+
+int     actspk[35];            /* rtext msg for verb <n> */
+
+int     cond[LOCSIZ];          /* various condition bits */
+
+int     hntmax;
+int     hints[20][5];          /* info on hints */
+int     hinted[20], hintlc[20];
+
+int     place[101], prop[101], links[201];
+int     abb[LOCSIZ];
+
+int     maxtrs, tally, tally2; /* treasure values */
+
+int     keys, lamp, grate, cage, rod, rod2, steps,     /* mnemonics */
+        bird, door, pillow, snake, fissur, tablet, clam, oyster,
+        magzin, dwarf, knife, food, bottle, water, oil, plant, plant2,
+        axe, mirror, dragon, chasm, troll, troll2, bear, messag,
+        vend, batter, nugget, coins, chest, eggs, tridnt, vase,
+        emrald, pyram, pearl, rug, chain, spices, back, look, cave,
+        null, entrnc, dprssn, enter, stream, pour, say, lock, throw,
+        find, invent;
+
+int     chloc, chloc2, dseen[7], dloc[7],      /* dwarf stuff */
+        odloc[7], dflag, daltlc;
+
+int     tk[21], stick, dtotal, attack;
+int     turns, lmwarn, iwest, knfloc, detail,  /* various flags and
+                                                * counters */
+        abbnum, maxdie, numdie, holdng, dkill, foobar, bonus, clock1,
+        clock2, saved, closng, panic, closed, scorng;
+
+int     demo, newloc, limit;
 
 void
 init()                 /* everything for 1st time run */
 
 void
 init()                 /* everything for 1st time run */