]> git.pond.sub.org Git - empserver/commitdiff
move_ground: Fix getsect() error checking
authorMarkus Armbruster <armbru@pond.sub.org>
Tue, 19 Jan 2021 18:25:03 +0000 (19:25 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 6 Feb 2021 15:55:37 +0000 (16:55 +0100)
move_ground() has code to handle getsect() failure.  It's dead,
because it assumes getsect() returns a negative value on failure.  It
actually returns zero then.  The mistake can be traced back all the
way back to BSD Empire 1.1.  Fix it.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
src/lib/subs/move.c

index e1b0363217e6af5d6463936c2650a405d091bfbf..95ac4e820789481702e2fe564047832860e192a0 100644 (file)
@@ -111,7 +111,7 @@ move_ground(struct sctstr *start, struct sctstr *end,
     curx = start->sct_x;
     cury = start->sct_y;
     total_mcost = 0.0;
-    if (getsect(curx, cury, &sect) < 0) {
+    if (!getsect(curx, cury, &sect)) {
        logerror("move_path: getsect %d,%d", curx, cury);
        return -1;
     }
@@ -191,7 +191,7 @@ move_ground(struct sctstr *start, struct sctstr *end,
         */
        tmpx = curx + diroff[dir][0];
        tmpy = cury + diroff[dir][1];
-       if (getsect(tmpx, tmpy, &next) < 0) {
+       if (!getsect(tmpx, tmpy, &next)) {
            pr("You can't go there...\n");
            *movstr = 0;
            continue;