]> git.pond.sub.org Git - empserver/commitdiff
subs: Factor out shp_nav_put_one()
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 25 Jan 2014 15:14:53 +0000 (16:14 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 1 Feb 2015 15:51:39 +0000 (16:51 +0100)
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
src/lib/subs/shpsub.c

index 6587945df3d057504e85c280eab9ad420cfeb922..272f512758bf22562020a5789661fb18e2eed02f 100644 (file)
@@ -53,6 +53,7 @@
 #include "unit.h"
 #include "xy.h"
 
+static void shp_nav_put_one(struct ulist *);
 static int shp_check_one_mines(struct ulist *);
 static int shp_hit_mine(struct shpstr *);
 static void shp_stays(natid, char *, struct ulist *);
@@ -193,13 +194,19 @@ shp_nav_put(struct emp_qelem *list, natid actor)
        sp = &mlp->unit.ship;
        mpr(actor, "%s stopped at %s\n",
            prship(sp), xyas(sp->shp_x, sp->shp_y, actor));
-       sp->shp_mobil = (int)mlp->mobil;
-       putship(sp->shp_uid, sp);
-       emp_remque(qp);
-       free(qp);
+       shp_nav_put_one(mlp);
     }
 }
 
+static void
+shp_nav_put_one(struct ulist *mlp)
+{
+    mlp->unit.ship.shp_mobil = (int)mlp->mobil;
+    putship(mlp->unit.ship.shp_uid, &mlp->unit.ship);
+    emp_remque(&mlp->queue);
+    free(mlp);
+}
+
 int
 shp_sweep(struct emp_qelem *ship_list, int verbose, int takemob, natid actor)
 {
@@ -317,10 +324,7 @@ shp_stays(natid actor, char *str, struct ulist *mlp)
     mpr(actor, "%s %s & stays in %s\n",
        prship(&mlp->unit.ship), str,
        xyas(mlp->unit.ship.shp_x, mlp->unit.ship.shp_y, actor));
-    mlp->unit.ship.shp_mobil = (int)mlp->mobil;
-    putship(mlp->unit.ship.shp_uid, &mlp->unit.ship);
-    emp_remque(&mlp->queue);
-    free(mlp);
+    shp_nav_put_one(mlp);
 }
 
 /*