]> git.pond.sub.org Git - empserver/commitdiff
Fix tend land not to wipe out concurrent updates
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 18 Apr 2009 06:41:28 +0000 (08:41 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 19 Apr 2009 20:06:08 +0000 (22:06 +0200)
Fix tend_land() to bail out if the tender changed while tend_land()
slept for the last argument (receiving ship).
(cherry picked from commit 1ee02194c517e773888f2644c5dde30ac14f6f20)

src/lib/commands/tend.c

index 2c7dba377b3e73826da7075be9316c9283728c83..c859d48815c57e7329d823864504368b041bd12e 100644 (file)
@@ -227,7 +227,7 @@ tend_land(struct shpstr *tenderp, char *units)
        if (!snxtitem(&targets, EF_SHIP,
                      player->argp[4], "Ship to be tended? "))
            return RET_FAIL;
        if (!snxtitem(&targets, EF_SHIP,
                      player->argp[4], "Ship to be tended? "))
            return RET_FAIL;
-       if (!check_land_ok(&land))
+       if (!check_ship_ok(tenderp) || !check_land_ok(&land))
            return RET_SYN;
        while (nxtitem(&targets, &target)) {
            if (!player->owner &&
            return RET_SYN;
        while (nxtitem(&targets, &target)) {
            if (!player->owner &&