]> granicus.if.org Git - nethack/commitdiff
3.7 build cleanup
authorPatR <rankin@nethack.org>
Mon, 25 Nov 2019 01:56:01 +0000 (17:56 -0800)
committerPatR <rankin@nethack.org>
Mon, 25 Nov 2019 01:56:01 +0000 (17:56 -0800)
Unix Makefile.utl wasn't aware of the dependency of makedefs.o on
src/mdlib.c so didn't rebuild makedefs when it should have.

Eliminate several warnings:
mdlib.c  - #if inside the arguments to macro Sprintf();
nhlua.c  - nhl_error() ends with a call to lua_error() which doesn't
           return, but neither of them were declared that way;
nhlsel.c - because of the previous, the 'else error' case of
           l_selection_ellipse() led to complaints about uninitialized
   variables;
sp_lev.c - missing 'const'.

I did minimal testing which went ok, but revisiting a couple of levels
gave me un-freed memory allocated by restore.c line 1337.  (I haven't
looked at that at all.)

include/extern.h
src/mdlib.c
src/nhlsel.c
src/nhlua.c
src/sp_lev.c
sys/unix/Makefile.utl

index 08ca0b29a19cb35520bc8890c14c8017be2aff0c..a191b9acf5634836da833bd04b01b665c28dab8b 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.6 extern.h        $NHDT-Date: 1573940539 2019/11/16 21:42:19 $  $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.741 $ */
+/* NetHack 3.6 extern.h        $NHDT-Date: 1574646942 2019/11/25 01:55:42 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.759 $ */
 /* Copyright (c) Steve Creps, 1988.                              */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -1674,7 +1674,7 @@ E int FDECL(l_selection_register, (lua_State *));
 E lua_State * NDECL(nhl_init);
 E boolean FDECL(nhl_loadlua, (lua_State *, const char *));
 E boolean FDECL(load_lua, (const char *));
-E void FDECL(nhl_error, (lua_State *, const char *));
+E void FDECL(nhl_error, (lua_State *, const char *)) NORETURN;
 E void FDECL(lcheck_param_table, (lua_State *));
 E schar FDECL(get_table_mapchr, (lua_State *, const char *));
 E schar FDECL(get_table_mapchr_opt, (lua_State *, const char *, SCHAR_P));
index 6d3dcdd5d6f33607c9b800dac5f55fe46fd8d4dc..ea134e67fdcb1ffbb97705dfc542411d721462b4 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.7  mdlib.c  $NHDT-Date: 1562180226 2019/07/03 18:57:06 $  $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.149 $ */
+/* NetHack 3.7  mdlib.c  $NHDT-Date: 1574646946 2019/11/25 01:55:46 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $ */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /*-Copyright (c) Kenneth Lorber, Kensington, Maryland, 2015. */
 /* Copyright (c) M. Stephenson, 1990, 1991.                       */
@@ -560,25 +560,21 @@ build_options()
     opttext[idxopttext] = strdup(optbuf);
     if (idxopttext < (MAXOPT - 1))
         idxopttext++;
-    Sprintf(optbuf,
-            "%sNetHack version %d.%d.%d%s\n",
-            opt_indent,
-            VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL,
 #if (NH_DEVEL_STATUS != NH_STATUS_RELEASED)
 #if (NH_DEVEL_STATUS == NH_STATUS_BETA)
-            " [beta]"
+#define STATUS_ARG " [beta]"
 #else
-            " [work-in-progress]"
+#define STATUS_ARG " [work-in-progress]"
 #endif
 #else
-            ""
+#define STATUS_ARG ""
 #endif /* NH_DEVEL_STATUS == NH_STATUS_RELEASED */
-            );
+    Sprintf(optbuf, "%sNetHack version %d.%d.%d%s\n",
+            opt_indent, VERSION_MAJOR, VERSION_MINOR, PATCHLEVEL, STATUS_ARG);
     opttext[idxopttext] = strdup(optbuf);
     if (idxopttext < (MAXOPT - 1))
         idxopttext++;
-    Sprintf(optbuf,
-            "Options compiled into this edition:");
+    Sprintf(optbuf, "Options compiled into this edition:");
     opttext[idxopttext] = strdup(optbuf);
     if (idxopttext < (MAXOPT - 1))
         idxopttext++;
index 9fe66047c77756d97c2ac79a086775212c47ec48..50e328e8a5caa2ad6c2e77a96d6f36f64c49f872 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.6 nhlua.c $NHDT-Date: 1524287226 2018/04/21 05:07:06 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.98 $ */
+/* NetHack 3.6 nhlua.c $NHDT-Date: 1574646948 2019/11/25 01:55:48 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.4 $ */
 /*      Copyright (c) 2018 by Pasi Kallinen */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -41,7 +41,6 @@ static int FDECL(l_selection_iterate, (lua_State *));
 static int FDECL(l_selection_add, (lua_State *));
 static int FDECL(l_selection_sub, (lua_State *));
 static int FDECL(l_selection_ipairs, (lua_State *));
-/* this prototype was missing but function body was below */
 static struct selectionvar *FDECL(l_selection_to, (lua_State *, int));
 #endif
 
@@ -69,16 +68,19 @@ lua_State *L;
     return 0;
 }
 
+#if 0
 static struct selectionvar *
 l_selection_to(L, index)
 lua_State *L;
 int index;
 {
     struct selectionvar *sel = (struct selectionvar *)lua_touserdata(L, index);
+
     if (!sel)
         nhl_error(L, "Selection error");
     return sel;
 }
+#endif
 
 static struct selectionvar *
 l_selection_push(L)
@@ -137,11 +139,10 @@ l_selection_setpoint(L)
 lua_State *L;
 {
     struct selectionvar *sel = (struct selectionvar *) 0;
-                                    /* REVIEW: initializer added */
     schar x = -1, y = -1;
     int val = 1;
     int argc = lua_gettop(L);
-    long coord;
+    long coord = 0L;
 
     if (argc == 0) {
         (void) l_selection_new(L);
@@ -162,6 +163,7 @@ lua_State *L;
 
     if (!sel || !sel->map) {
         nhl_error(L, "Selection setpoint error");
+        /*NOTREACHED*/
         return 0;
     }
 
@@ -169,7 +171,8 @@ lua_State *L;
         coord = SP_COORD_PACK_RANDOM(0);
     else
         coord = SP_COORD_PACK(x,y);
-    get_location_coord(&x, &y, ANY_LOC, g.coder ? g.coder->croom : NULL, coord);
+    get_location_coord(&x, &y, ANY_LOC,
+                       g.coder ? g.coder->croom : NULL, coord);
     selection_setpoint(x, y, sel, val);
     lua_settop(L, 1);
     return 1;
@@ -451,7 +454,6 @@ lua_State *L;
 {
     int argc = lua_gettop(L);
     struct selectionvar *sel = (struct selectionvar *) 0;
-                                    /* REVIEW: initializer added */
     schar x1, y1, x2, y2;
     int roughness = 7;
 
@@ -473,10 +475,12 @@ lua_State *L;
         sel = l_selection_check(L, 1);
     }
 
-    get_location_coord(&x1, &y1, ANY_LOC, g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x1,y1));
-    get_location_coord(&x2, &y2, ANY_LOC, g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x2,y2));
+    get_location_coord(&x1, &y1, ANY_LOC,
+                       g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x1, y1));
+    get_location_coord(&x2, &y2, ANY_LOC,
+                       g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x2, y2));
 
-    selection_do_randline(x1,y1, x2,y2, roughness, 12, sel);
+    selection_do_randline(x1, y1, x2, y2, roughness, 12, sel);
     lua_settop(L, 1);
     return 1;
 }
@@ -533,7 +537,6 @@ lua_State *L;
 {
     int argc = lua_gettop(L);
     struct selectionvar *sel = (struct selectionvar *) 0;
-                                    /* REVIEW: initializer added */
     schar x, y;
 
     if (argc == 3) {
@@ -548,11 +551,13 @@ lua_State *L;
         sel = l_selection_check(L, 1);
     } else {
         nhl_error(L, "wrong parameters");
+        /*NOTREACHED*/
     }
 
-    get_location_coord(&x, &y, ANY_LOC, g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x,y));
+    get_location_coord(&x, &y, ANY_LOC,
+                       g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x, y));
 
-    if (isok(x,y)) {
+    if (isok(x, y)) {
         set_floodfillchk_match_under(levl[x][y].typ);
         selection_floodfill(sel, x, y, FALSE);
     }
@@ -571,9 +576,8 @@ lua_State *L;
 {
     int argc = lua_gettop(L);
     struct selectionvar *sel = (struct selectionvar *) 0;
-                                    /* REVIEW: initializer added */
-    schar x, y;
-    int r, filled = 0;
+    schar x = 0, y = 0;
+    int r = 0, filled = 0;
 
     if (argc == 3) {
         x = (schar) luaL_checkinteger(L, 1);
@@ -599,22 +603,13 @@ lua_State *L;
         filled = (int) luaL_optinteger(L, 5, 0); /* TODO: boolean */
     } else {
         nhl_error(L, "wrong parameters");
-        /*
-         * FIXME: OSX compiler is issuing a complaint
-         *        about r being passed to selection_do_ellipse()
-         *        below without ever having been initialized
-         *        to something when this else clause is encountered.
-         *        I could have added an initializer to r at the
-         *        top, but I didn't know what it should be initialized
-         *        to in order for selection_do_ellipse() to not
-         *        misbehave. The parameters passed in previous versions
-         *        were related to xaxis and yaxis.
-         */
+        /*NOTREACHED*/
     }
 
-    get_location_coord(&x, &y, ANY_LOC, g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x,y));
+    get_location_coord(&x, &y, ANY_LOC,
+                       g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x, y));
 
-    selection_do_ellipse(sel, x,y, r,r, !filled);
+    selection_do_ellipse(sel, x, y, r, r, !filled);
 
     lua_settop(L, 1);
     return 1;
@@ -630,9 +625,8 @@ lua_State *L;
 {
     int argc = lua_gettop(L);
     struct selectionvar *sel = (struct selectionvar *) 0;
-                                    /* REVIEW: initializer added */
-    schar x, y;
-    int r1, r2, filled = 0;
+    schar x = 0, y = 0;
+    int r1 = 0, r2 = 0, filled = 0;
 
     if (argc == 4) {
         x = (schar) luaL_checkinteger(L, 1);
@@ -661,22 +655,13 @@ lua_State *L;
         filled = (int) luaL_optinteger(L, 6, 0); /* TODO: boolean */
     } else {
         nhl_error(L, "wrong parameters");
-        /*
-         * FIXME: OSX compiler is issuing a complaint
-         *        about r1 and r2 being passed to selection_do_ellipse()
-         *        below without ever having been initialized
-         *        to something when this else clause is encountered.
-         *        I could have added an initializer to r1,r2 at the
-         *        top, but I didn't know what they should be initialized
-         *        to in order for selection_do_ellipse() to not
-         *        misbehave. The parameters passed in previous versions
-         *        were related to xaxis and yaxis.
-         */
+        /*NOTREACHED*/
     }
 
-    get_location_coord(&x, &y, ANY_LOC, g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x,y));
+    get_location_coord(&x, &y, ANY_LOC,
+                       g.coder ? g.coder->croom : NULL, SP_COORD_PACK(x, y));
 
-    selection_do_ellipse(sel, x,y, r1,r2, !filled);
+    selection_do_ellipse(sel, x, y, r1, r2, !filled);
 
     lua_settop(L, 1);
     return 1;
@@ -684,43 +669,43 @@ lua_State *L;
 
 
 static const struct luaL_Reg l_selection_methods[] = {
-                                             { "new", l_selection_new },
-                                             { "clone", l_selection_clone },
-                                             { "get", l_selection_getpoint },
-                                             { "set", l_selection_setpoint },
-                                             { "negate", l_selection_not },
-                                             { "percentage", l_selection_filter_percent },
-                                             { "rndcoord", l_selection_rndcoord },
-                                             { "line", l_selection_line },
-                                             { "randline", l_selection_randline },
-                                             { "rect", l_selection_rect },
-                                             { "fillrect", l_selection_fillrect },
-                                             { "area", l_selection_fillrect },
-                                             { "grow", l_selection_grow },
-                                             { "filter_mapchar", l_selection_filter_mapchar },
-                                             { "floodfill", l_selection_flood },
-                                             { "circle", l_selection_circle },
-                                             { "ellipse", l_selection_ellipse },
-                                             /* TODO:
-                                             { "gradient", l_selection_gradient },
-                                             { "iterate", l_selection_iterate },
-                                             */
-                                             { NULL, NULL }
+    { "new", l_selection_new },
+    { "clone", l_selection_clone },
+    { "get", l_selection_getpoint },
+    { "set", l_selection_setpoint },
+    { "negate", l_selection_not },
+    { "percentage", l_selection_filter_percent },
+    { "rndcoord", l_selection_rndcoord },
+    { "line", l_selection_line },
+    { "randline", l_selection_randline },
+    { "rect", l_selection_rect },
+    { "fillrect", l_selection_fillrect },
+    { "area", l_selection_fillrect },
+    { "grow", l_selection_grow },
+    { "filter_mapchar", l_selection_filter_mapchar },
+    { "floodfill", l_selection_flood },
+    { "circle", l_selection_circle },
+    { "ellipse", l_selection_ellipse },
+    /* TODO:
+       { "gradient", l_selection_gradient },
+       { "iterate", l_selection_iterate },
+    */
+    { NULL, NULL }
 };
 
 static const luaL_Reg l_selection_meta[] = {
-                                            { "__gc", l_selection_gc },
-                                            { "__unm", l_selection_not },
-                                            { "__band", l_selection_and },
-                                            { "__bor", l_selection_or },
-                                            { "__bxor", l_selection_xor },
-                                            { "__bnot", l_selection_not },
-                                            /* TODO: http://lua-users.org/wiki/MetatableEvents
-                                            { "__add", l_selection_add },
-                                            { "__sub", l_selection_sub },
-                                            { "__ipairs", l_selection_ipairs },
-                                            */
-                                            { NULL, NULL }
+    { "__gc", l_selection_gc },
+    { "__unm", l_selection_not },
+    { "__band", l_selection_and },
+    { "__bor", l_selection_or },
+    { "__bxor", l_selection_xor },
+    { "__bnot", l_selection_not },
+    /* TODO: http://lua-users.org/wiki/MetatableEvents
+       { "__add", l_selection_add },
+       { "__sub", l_selection_sub },
+       { "__ipairs", l_selection_ipairs },
+    */
+    { NULL, NULL }
 };
 
 int
index 494b1d2654cf6904e421568783a4dc1bff999819..73431fc7f32d372a000bca637be0aa696c817b66 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.6 nhlua.c $NHDT-Date: 1524287226 2018/04/21 05:07:06 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.98 $ */
+/* NetHack 3.6 nhlua.c $NHDT-Date: 1574646949 2019/11/25 01:55:49 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.8 $ */
 /*      Copyright (c) 2018 by Pasi Kallinen */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -37,13 +37,16 @@ nhl_error(L, msg)
 lua_State *L;
 const char *msg;
 {
+    extern int FDECL(lua_error, (lua_State *)) NORETURN;
     lua_Debug ar;
     char buf[BUFSZ];
+
     lua_getstack(L, 1, &ar);
     lua_getinfo(L, "lS", &ar);
     Sprintf(buf, "%s (line %i%s)", msg, ar.currentline, ar.source);
     lua_pushstring(L, buf);
-    lua_error(L);
+    (void) lua_error(L);
+    /*NOTREACHED*/
 }
 
 /* Check that parameters are nothing but single table,
index cb35286ed8b12bd5879f0ef363680fffdcb2374d..c759dd318ab0a4437ccc5edc20a6598395cb2c58 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.6 sp_lev.c        $NHDT-Date: 1567805254 2019/09/06 21:27:34 $  $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.117 $ */
+/* NetHack 3.6 sp_lev.c        $NHDT-Date: 1574646949 2019/11/25 01:55:49 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.141 $ */
 /*      Copyright (c) 1989 by Jean-Christophe Collet */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -3336,8 +3336,10 @@ const char *name;
 int defval;
 {
     char *trapstr = get_table_str_opt(L, name, emptystr);
+
     if (trapstr && *trapstr) {
         int i;
+
         for (i = 0; trap_types[i].name; i++)
             if (!strcmpi(trapstr, trap_types[i].name)) {
                 Free(trapstr);
@@ -3350,7 +3352,7 @@ int defval;
 
 int
 get_traptype_byname(trapname)
-char *trapname;
+const char *trapname;
 {
     int i;
 
index 64dccf5701f9c1b56779b27e08a038f73796faab..30676b7e741d2b8851d4b4d449bdd2cfbf0c7105 100644 (file)
@@ -1,5 +1,5 @@
 #      Makefile for NetHack's utility programs.
-# NetHack 3.6  Makefile.utl    $NHDT-Date: 1539968067 2018/10/19 16:54:27 $  $NHDT-Branch: keni-makedefsm $:$NHDT-Revision: 1.38 $
+# NetHack 3.6  Makefile.utl    $NHDT-Date: 1574646950 2019/11/25 01:55:50 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.44 $
 # Copyright (c) 2018 by Robert Patrick Rankin
 # NetHack may be freely redistributed.  See license for details.
 
@@ -185,7 +185,7 @@ CONFIG_H = ../src/config.h-t
 HACK_H  = ../src/hack.h-t
 
 # utility .c files
-MAKESRC = makedefs.c
+MAKESRC = makedefs.c ../src/mdlib.c
 RECOVSRC = recover.c
 DLBSRC = dlb_main.c
 UTILSRCS = $(MAKESRC) panic.c $(DGNCOMPSRC) $(RECOVSRC) $(DLBSRC)
@@ -231,7 +231,7 @@ YACCDIST =
 makedefs:      $(MAKEOBJS) mdgrep.h
        $(CC) $(LFLAGS) -o makedefs $(MAKEOBJS)
 
-makedefs.o: makedefs.c $(CONFIG_H) ../include/permonst.h \
+makedefs.o: makedefs.c ../src/mdlib.c $(CONFIG_H) ../include/permonst.h \
                ../include/objclass.h ../include/monsym.h \
                ../include/artilist.h ../include/dungeon.h ../include/obj.h \
                ../include/monst.h ../include/you.h ../include/flag.h \