]> git.pond.sub.org Git - empserver/commitdiff
Remove cheesy work-around for broken MAPWIDTH()
authorMarkus Armbruster <armbru@pond.sub.org>
Wed, 20 Aug 2008 01:30:49 +0000 (21:30 -0400)
committerMarkus Armbruster <armbru@pond.sub.org>
Wed, 20 Aug 2008 11:40:51 +0000 (07:40 -0400)
MAPWIDTH(3) used to be one too small, which made rout() clobber the
map row's terminating zero when the map spans the whole world in x.
Since Chainsaw 2, rout() copied rows into an additional buffer to add
a terminating zero.  Remove that junk.

src/lib/commands/rout.c

index b83653efba0812b0aaf95d1a72acef68c4119982..0004a0742d5d2dddcee0e07fdfa6b5c8e141f6a8 100644 (file)
@@ -59,7 +59,6 @@ rout(void)
        around */
     static char *mapbuf = NULL;
     static char **map = NULL;
-    static char *buf = NULL;
     int i;
 
     if ((ip = whatitem(player->argp[1], "What item? ")) == 0)
@@ -79,9 +78,7 @@ rout(void)
            map = NULL;
        }
     }
-    if (!buf)
-       buf = malloc(MAPWIDTH(3) + 12);
-    if (!mapbuf || !map || !buf) {
+    if (!mapbuf || !map) {
        pr("Memory error, tell the deity.\n");
        logerror("malloc failed in rout\n");
        return RET_FAIL;
@@ -92,7 +89,6 @@ rout(void)
 
     natp = getnatp(player->cnum);
     xyrelrange(natp, &ns.range, &relrange);
-    memset(mapbuf, 0, ((WORLD_Y * MAPWIDTH(3))));
     blankfill(mapbuf, &ns.range, 3);
     border(&relrange, "     ", " ");
 
@@ -107,11 +103,7 @@ rout(void)
     }
     for (row = 0, y = ns.range.ly; row < ns.range.height; y++, row++) {
        ry = yrel(natp, y);
-       memset(buf, 0, (MAPWIDTH(3) + 10));
-       sprintf(buf, "%4d ", ry);
-       memcpy(buf + 5, map[row], ns.range.width * 2 + 1);
-       sprintf(buf + 5 + ns.range.width * 2 + 1, " %-4d\n", ry);
-       pr("%s", buf);
+       pr("%4d %s %-4d\n", ry, map[row], ry);
        if (y >= WORLD_Y)
            y -= WORLD_Y;
     }