Lowering the scope And cleaning up some warnings from static analysis
authorNHOrus <jy6x2b32pie9@yahoo.com>
Wed, 14 Jun 2017 19:08:43 +0000 (22:08 +0300)
committerEric S. Raymond <esr@thyrsus.com>
Wed, 14 Jun 2017 19:17:02 +0000 (15:17 -0400)
actions.c
advent.h
dungeon.c
main.c
misc.c
saveresume.c

index 51972507052be7e1276022a32633bd5bdc412839..cc2f66cedc1348eb781a5ee8c1ffa18425a03835 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -774,11 +774,10 @@ static int quit(FILE *input)
 static int read(FILE *input, token_t verb, token_t obj)
 /*  Read.  Print stuff based on objtxt.  Oyster (?) is special case. */
 {
-    int i;
     int spk = ACTSPK[verb];
     if (obj == INTRANSITIVE) {
        obj = 0;
-       for (i=1; i<=NOBJECTS; i++) {
+       for (int i=1; i<=NOBJECTS; i++) {
            if (HERE(i) && OBJTXT[i] != 0 && game.prop[i] >= 0)
                obj = obj * NOBJECTS + i;
        }
index 4717fe7b3134a2df50ce3b58d897e44e2a69d520..93681a630d71084e7ffd9fb3864e12817de208ac 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -82,7 +82,7 @@ extern bool oldstyle, editline, prompt;
 #define READ_MODE "rb"
 #define WRITE_MODE "wb"
 extern char* xstrdup(const char*);
-extern void packed_to_token(long, char token[6]);
+extern void packed_to_token(long, char token[]);
 extern void newspeak(char*);
 extern void PSPEAK(vocab_t,int);
 extern void RSPEAK(vocab_t);
index 1f56f84ce59eb624d2ed78483e01cd425326e916..b22997da7c394b1d9d164f16ded7499697e8ae06 100644 (file)
--- a/dungeon.c
+++ b/dungeon.c
@@ -197,7 +197,7 @@ void MAPLIN(FILE *OPENED) {
   while (!feof(OPENED) && INLINE[1] == '#');
 
   LNLENG = 0;
-  for (size_t i = 1; i <= sizeof(INLINE) && INLINE[i] != 0; ++i)
+  for (size_t i = 1; i < sizeof(INLINE) && INLINE[i] != 0; ++i)
     {
       char val = INLINE[i];
       INLINE[i] = ascii_to_advent[(unsigned)val];
@@ -214,7 +214,7 @@ long GETNUM(FILE *source) {
  *  scanned).  If we're at the end of the line or encounter an illegal
  *  character (not a digit, hyphen, or blank), we return 0. */
 
-  long DIGIT, GETNUM, SIGN;
+  long GETNUM, SIGN;
 
   if(source != NULL) MAPLIN(source);
   GETNUM = 0;
@@ -235,7 +235,7 @@ long GETNUM(FILE *source) {
     }
   while (!(LNPOSN > LNLENG || INLINE[LNPOSN] == 0))
     {
-      DIGIT=INLINE[LNPOSN]-64;
+      long DIGIT=INLINE[LNPOSN]-64;
       if(DIGIT < 0 || DIGIT > 9)
         {
           GETNUM=0;
diff --git a/main.c b/main.c
index 6ba8897825bd286f32d392202c17d876f99348d3..ecc9ca03a2f1a13ccc522d464249e67d58692a77 100644 (file)
--- a/main.c
+++ b/main.c
@@ -860,10 +860,9 @@ static void listobjects(void)
  *  get full score. */
 {
     if (!DARK(game.loc)) {
-       long obj;
        ++game.abbrev[game.loc];
        for (int i=game.atloc[game.loc]; i != 0; i=game.link[i]) {
-           obj=i;
+           long obj=i;
            if (obj > NOBJECTS)obj=obj-NOBJECTS;
            if (obj == STEPS && TOTING(NUGGET))
                continue;
diff --git a/misc.c b/misc.c
index 6ca1f876ac21a2b9e2acfaecbc09c8222acf6117..a59ed5ff9a5e9b9f512f78f3dbcc005172b27348 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -541,7 +541,6 @@ void BUG(long num)
 
 bool MAPLIN(FILE *fp)
 {
-    long i, val;
     bool eof;
 
     /* Read a line of input, from the specified input source.
@@ -577,7 +576,7 @@ bool MAPLIN(FILE *fp)
            if (!eof) {
                strncpy(rawbuf, cp, sizeof(rawbuf)-1);
                linenoiseHistoryAdd(rawbuf);
-               strncat(rawbuf, "\n", sizeof(rawbuf)-1);
+               strncat(rawbuf, "\n", sizeof(rawbuf) - strlen(rawbuf) - 1);
                linenoiseFree(cp);
            }
        }
@@ -624,8 +623,8 @@ bool MAPLIN(FILE *fp)
      *  and is not changed thereafter unless the routines on this page choose
      *  to do so. */
        LNLENG=0;
-       for (i=1; i<=(long)sizeof(INLINE) && INLINE[i]!=0; i++) {
-           val=INLINE[i];
+       for (long i=1; i<=(long)sizeof(INLINE) && INLINE[i]!=0; i++) {
+           long val=INLINE[i];
            INLINE[i]=ascii_to_advent[val];
            if (INLINE[i] != 0)
                LNLENG=i;
index af94c4aa2043b8d5d7d16273bac2ae99036d15cc..284b8f01236bd2794e34d597706350fab809a068 100644 (file)
@@ -33,8 +33,7 @@ int saveresume(FILE *input, bool resume)
 {
     long i, k;
     FILE *fp = NULL;
-    char *name;
+     
     if (!resume) {
        /*  Suspend.  Offer to save things in a file, but charging
         *  some points (so can't win by using saved games to retry
@@ -53,7 +52,7 @@ int saveresume(FILE *input, bool resume)
     }
 
     while (fp == NULL) {
-       name = linenoise("\nFile name: ");
+       char* name = linenoise("\nFile name: ");
        if (name == NULL)
            return GO_TOP;
        fp = fopen(name,(resume ? READ_MODE : WRITE_MODE));