pacify analyzer's complaint - restore_waterlevel()

Redo the restore_waterlevel() code a bit to eliminate a static
analyzer complaint.  The previous code would not have done the right
thing if 'gb.bbubbles' was already non-Null, but that should not be
possible.  I didn't backtrack to make sure that it was always Null
at the time restore_waterlevel() gets called.

Also, some of the code was misformatted.
This commit is contained in:
PatR
2023-01-13 22:23:30 -08:00
parent 11705aa108
commit ed884c0579

View File

@@ -1628,33 +1628,35 @@ save_waterlevel(NHFILE* nhfp)
unsetup_waterlevel();
}
/* restoring air bubbles on Plane of Water or clouds on Plane of Air */
void
restore_waterlevel(NHFILE* nhfp)
restore_waterlevel(NHFILE *nhfp)
{
struct bubble *b = (struct bubble *) 0, *btmp;
int i, n = 0;
gb.bbubbles = (struct bubble *) 0;
set_wportal();
if (nhfp->structlevel) {
mread(nhfp->fd,(genericptr_t)&n,sizeof(int));
mread(nhfp->fd,(genericptr_t)&gx.xmin,sizeof(int));
mread(nhfp->fd,(genericptr_t)&gy.ymin,sizeof(int));
mread(nhfp->fd,(genericptr_t)&gx.xmax,sizeof(int));
mread(nhfp->fd,(genericptr_t)&gy.ymax,sizeof(int));
mread(nhfp->fd,(genericptr_t) &n, sizeof (int));
mread(nhfp->fd,(genericptr_t) &gx.xmin, sizeof (int));
mread(nhfp->fd,(genericptr_t) &gy.ymin, sizeof (int));
mread(nhfp->fd,(genericptr_t) &gx.xmax, sizeof (int));
mread(nhfp->fd,(genericptr_t) &gy.ymax, sizeof (int));
}
for (i = 0; i < n; i++) {
btmp = b;
b = (struct bubble *) alloc(sizeof(struct bubble));
b = (struct bubble *) alloc((unsigned) sizeof *b);
if (nhfp->structlevel)
mread(nhfp->fd,(genericptr_t) b, sizeof(struct bubble));
if (gb.bbubbles) {
btmp->next = b;
b->prev = btmp;
} else {
gb.bbubbles = b;
b->prev = (struct bubble *) 0;
}
mv_bubble(b, 0, 0, TRUE);
mread(nhfp->fd, (genericptr_t) b, (unsigned) sizeof *b);
if (btmp) {
btmp->next = b;
b->prev = btmp;
} else {
gb.bbubbles = b;
b->prev = (struct bubble *) 0;
}
mv_bubble(b, 0, 0, TRUE);
}
ge.ebubbles = b;
if (b) {