]> git.pond.sub.org Git - empserver/blobdiff - src/lib/commands/rout.c
Update copyright notice
[empserver] / src / lib / commands / rout.c
index 6d05b6f8650d40bdc40f0e65d7c1f8d87e20dd4c..26bb7823c0a0228d21aae0b68ae0da3ab76f96b5 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2009, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                           Ken Stevens, Steve McClure
  *
  *  This program is free software; you can redistribute it and/or modify
  *  ---
  *
  *  rout.c: Show empire deliver routes
- * 
+ *
  *  Known contributors to this file:
- *     
+ *
  */
 
 #include <config.h>
 
-#include "misc.h"
-#include "player.h"
-#include "xy.h"
-#include "nat.h"
-#include "nsc.h"
-#include "sect.h"
+#include "commands.h"
 #include "item.h"
-#include "path.h"
-#include "file.h"
 #include "map.h"
-#include "commands.h"
 #include "optlist.h"
+#include "path.h"
 
 int
 rout(void)
@@ -66,14 +59,13 @@ 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)
        return RET_SYN;
     i_del = ip->i_uid;;
     if (!snxtsct(&ns, player->argp[2]))
-       return RET_FAIL;
+       return RET_SYN;
     if (!mapbuf)
        mapbuf = malloc(WORLD_Y * MAPWIDTH(3));
     if (!map) {
@@ -86,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;
@@ -99,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, "     ", " ");
 
@@ -109,16 +98,12 @@ rout(void)
        p = &map[ns.dy][ns.dx * 2];
        if ((dir = sect.sct_del[i_del] & 0x7) &&
            nstr_exec(cond, ncond, &sect))
-           memcpy(p, routech[dir][0], 3);
+           memcpy(p, routech[dir], 3);
        p[1] = dchr[sect.sct_type].d_mnem;
     }
     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;
     }