From 2c6172a10dd712d4fcd9e68126687ed1af2d5e46 Mon Sep 17 00:00:00 2001 From: nhmall Date: Thu, 24 Apr 2025 22:45:49 -0400 Subject: [PATCH] follow-up bit to savefile changes - part 1 o_init.c restnames got missed --- src/o_init.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/o_init.c b/src/o_init.c index bebc4f866..42fbf73a1 100644 --- a/src/o_init.c +++ b/src/o_init.c @@ -418,11 +418,21 @@ restnames(NHFILE *nhfp) int i; unsigned int len = 0; - if (nhfp->structlevel) { - mread(nhfp->fd, (genericptr_t) svb.bases, sizeof svb.bases); - mread(nhfp->fd, (genericptr_t) svd.disco, sizeof svd.disco); - mread(nhfp->fd, (genericptr_t) objects, - NUM_OBJECTS * sizeof (struct objclass)); + for (i = 0; i < (MAXOCLASSES + 2); ++i) { + if (nhfp->structlevel) { + mread(nhfp->fd, (genericptr_t) &svb.bases[i], sizeof(int)); + } + } + for (i = 0; i < NUM_OBJECTS; ++i) { + if (nhfp->structlevel) { + mread(nhfp->fd, (genericptr_t) &svd.disco[i], sizeof(short)); + } + } + for (i = 0; i < NUM_OBJECTS; ++i) { + if (nhfp->structlevel) { + mread(nhfp->fd, (genericptr_t) &objects[i], + sizeof(struct objclass)); + } } for (i = 0; i < NUM_OBJECTS; i++) { if (objects[i].oc_uname) {