]> git.pond.sub.org Git - empserver/blobdiff - src/lib/update/nav_ship.c
Generation numbers to catch write back of stale copies
[empserver] / src / lib / update / nav_ship.c
index 9670f1382d6b10b26477179ecf28ac2b86763fa8..0a0206988912e644e6fdf81ecf312eea1c976eeb 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2008, 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
@@ -268,6 +268,7 @@ nav_ship(struct shpstr *sp)
     mlp = malloc(sizeof(struct ulist));
     mlp->chrp = (struct empobj_chr *)(mchr + sp->shp_type);
     mlp->unit.ship = *sp;
+    ef_mark_fresh(EF_SHIP, &mlp->unit.ship);
     mlp->mobil = sp->shp_mobil;
     emp_insque(&mlp->queue, &ship_list);
 
@@ -284,7 +285,7 @@ nav_ship(struct shpstr *sp)
            cp = BestShipPath(buf, sp->shp_x, sp->shp_y,
                              sp->shp_destx[0], sp->shp_desty[0],
                              sp->shp_own);
-           if (cp == 0) {
+           if (!cp) {
                wu(0, cnum,
                   "%s bad path, ship put on standby\n", prship(sp));
                sp->shp_autonav |= AN_STANDBY;