summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Saab <ps@FreeBSD.org>2000-05-09 22:23:51 +0000
committerPaul Saab <ps@FreeBSD.org>2000-05-09 22:23:51 +0000
commit198e2844e9e9eb961c658eb4c0e39d852f272c8e (patch)
treecdec36977d86adfe127535df5c8ac18aefaec476
parent0203725632588c9eaaaa915d91579ca18e130c3e (diff)
Notes
-rw-r--r--sbin/savecore/savecore.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sbin/savecore/savecore.c b/sbin/savecore/savecore.c
index 290d38615331..ba2c5c423038 100644
--- a/sbin/savecore/savecore.c
+++ b/sbin/savecore/savecore.c
@@ -103,7 +103,7 @@ struct nlist dump_nl[] = { /* Name list for dumped system. */
};
/* Types match kernel declarations. */
-long dumplo; /* where dump starts on dumpdev */
+off_t dumplo; /* where dump starts on dumpdev */
int dumpmag; /* magic number in dump */
int dumpsize; /* amount of memory dumped */
@@ -217,6 +217,7 @@ kmem_setup()
const char *dump_sys;
int mib[2];
size_t len;
+ long kdumplo; /* block number where dump starts on dumpdev */
/*
* Some names we need for the currently running system, others for
@@ -260,13 +261,13 @@ kmem_setup()
kmem = Open(_PATH_KMEM, O_RDONLY);
Lseek(kmem, (off_t)current_nl[X_DUMPLO].n_value, L_SET);
- (void)Read(kmem, &dumplo, sizeof(dumplo));
+ (void)Read(kmem, &kdumplo, sizeof(kdumplo));
+ dumplo = (off_t)kdumplo * DEV_BSIZE;
if (verbose)
- (void)printf("dumplo = %ld (%ld * %d)\n",
- dumplo, dumplo/DEV_BSIZE, DEV_BSIZE);
+ (void)printf("dumplo = %lld (%ld * %d)\n",
+ (long long)dumplo, kdumplo, DEV_BSIZE);
Lseek(kmem, (off_t)current_nl[X_DUMPMAG].n_value, L_SET);
(void)Read(kmem, &dumpmag, sizeof(dumpmag));
- dumplo *= DEV_BSIZE;
ddname = find_dev(dumpdev);
dumpfd = Open(ddname, O_RDWR);
fp = fdopen(kmem, "r");