]> git.pond.sub.org Git - empserver/commitdiff
Simplify perform_mission()
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 9 Jan 2010 13:22:51 +0000 (14:22 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Tue, 19 Jan 2010 07:38:16 +0000 (08:38 +0100)
src/lib/subs/mission.c

index f1aefe2c30bb8dc8c36e9a3124fac59f1fea4e66..692acc883e6e784b5ead535a0e9277f1eb643fb2 100644 (file)
@@ -384,18 +384,16 @@ perform_mission(coord x, coord y, natid victim, struct emp_qelem *list,
     struct emp_qelem *qp, missiles, bombers;
     struct genlist *glp;
     struct plist *plp;
-    struct sctstr sect;
     struct plchrstr *pcp;
     int dam = 0;
     int targeting_ships = *s == 's'; /* "subs" or "ships" FIXME gross! */
 
-    getsect(x, y, &sect);
-
     emp_initque(&missiles);
     emp_initque(&bombers);
 
-    for (qp = list->q_forw; qp != list; qp = qp->q_forw) {
+    for (qp = list->q_forw; qp != list; ) {
        glp = (struct genlist *)qp;
+       qp = qp->q_forw;
 
        if (glp->thing->ef_type == EF_LAND) {
            dam = perform_mission_land(dam, (struct lndstr *)glp->thing,
@@ -426,21 +424,14 @@ perform_mission(coord x, coord y, natid victim, struct emp_qelem *list,
            CANT_REACH();
            break;
        }
+       free(glp->thing);
+       free(glp);
     }
 
     dam = perform_mission_msl(dam, &missiles, x, y, victim, hardtarget);
     dam = perform_mission_bomb(dam, &bombers, x, y, victim, mission, s,
                               hardtarget, targeting_ships);
 
-    qp = list->q_forw;
-    while (qp != list) {
-       glp = (struct genlist *)qp;
-       qp = qp->q_forw;
-
-       free(glp->thing);
-       free(glp);
-    }
-
     return dam;
 }