]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - hack/hack.worm.c
games/hack: Fix -Wstringop-truncation warning.
[bsdgames-darwin.git] / hack / hack.worm.c
index 349c1c7f1b3f64a737b9742cb4aa65d9359fd6d6..54feb6220d234ba8e232dc80f507167053b3a77c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: hack.worm.c,v 1.5 2003/04/02 18:36:41 jsm Exp $        */
+/*     $NetBSD: hack.worm.c,v 1.9 2011/08/06 20:29:37 dholland Exp $   */
 
 /*
  * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica,
@@ -63,7 +63,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: hack.worm.c,v 1.5 2003/04/02 18:36:41 jsm Exp $");
+__RCSID("$NetBSD: hack.worm.c,v 1.9 2011/08/06 20:29:37 dholland Exp $");
 #endif                         /* not lint */
 
 #include <stdlib.h>
@@ -76,9 +76,10 @@ struct wseg    *wsegs[32];   /* linked list, tail first */
 struct wseg    *wheads[32];
 long            wgrowtime[32];
 
+static void remseg(struct wseg *);
+
 int
-getwn(mtmp)
-       struct monst   *mtmp;
+getwn(struct monst *mtmp)
 {
        int     tmp;
        for (tmp = 1; tmp < 32; tmp++)
@@ -91,8 +92,7 @@ getwn(mtmp)
 
 /* called to initialize a worm unless cut in half */
 void
-initworm(mtmp)
-       struct monst   *mtmp;
+initworm(struct monst *mtmp)
 {
        struct wseg    *wtmp;
        int     tmp = mtmp->wormno;
@@ -107,8 +107,7 @@ initworm(mtmp)
 }
 
 void
-worm_move(mtmp)
-       struct monst   *mtmp;
+worm_move(struct monst *mtmp)
 {
        struct wseg    *wtmp, *whd = NULL;
        int             tmp = mtmp->wormno;
@@ -140,8 +139,7 @@ worm_move(mtmp)
 }
 
 void
-worm_nomove(mtmp)
-       struct monst   *mtmp;
+worm_nomove(struct monst *mtmp)
 {
        int             tmp;
        struct wseg    *wtmp;
@@ -157,8 +155,7 @@ worm_nomove(mtmp)
 }
 
 void
-wormdead(mtmp)
-       struct monst   *mtmp;
+wormdead(struct monst *mtmp)
 {
        int             tmp = mtmp->wormno;
        struct wseg    *wtmp, *wtmp2;
@@ -173,8 +170,7 @@ wormdead(mtmp)
 }
 
 void
-wormhit(mtmp)
-       struct monst   *mtmp;
+wormhit(struct monst *mtmp)
 {
        int             tmp = mtmp->wormno;
        struct wseg    *wtmp;
@@ -185,8 +181,7 @@ wormhit(mtmp)
 }
 
 void
-wormsee(tmp)
-       unsigned        tmp;
+wormsee(unsigned tmp)
 {
        struct wseg    *wtmp = wsegs[tmp];
        if (!wtmp)
@@ -199,8 +194,7 @@ wormsee(tmp)
 }
 
 void
-pwseg(wtmp)
-       struct wseg    *wtmp;
+pwseg(struct wseg *wtmp)
 {
        if (!wtmp->wdispl) {
                atl(wtmp->wx, wtmp->wy, '~');
@@ -208,11 +202,9 @@ pwseg(wtmp)
        }
 }
 
+/* weptyp is uwep->otyp or 0 */
 void
-cutworm(mtmp, x, y, weptyp)
-       struct monst   *mtmp;
-       xchar           x, y;
-       uchar           weptyp; /* uwep->otyp or 0 */
+cutworm(struct monst *mtmp, xchar x, xchar y, uchar weptyp)
 {
        struct wseg    *wtmp, *wtmp2;
        struct monst   *mtmp2;
@@ -269,6 +261,7 @@ cutworm(mtmp, x, y, weptyp)
                        } else {
                                pline("You cut off part of the worm's tail.");
                                remseg(wtmp);
+                               monfree(mtmp2);
                        }
                        mtmp->mhp /= 2;
                        return;
@@ -281,12 +274,11 @@ cutworm(mtmp, x, y, weptyp)
        panic("Cannot find worm segment");
 }
 
-void
-remseg(wtmp)
-       struct wseg    *wtmp;
+static void
+remseg(struct wseg *wtmp)
 {
        if (wtmp->wdispl)
                newsym(wtmp->wx, wtmp->wy);
-       free((char *) wtmp);
+       free(wtmp);
 }
 #endif /* NOWORM */