summaryrefslogtreecommitdiffstats
path: root/tools/regression/geom/geom_simdisk_xml.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-04-04 16:40:11 +0000
committerphk <phk@FreeBSD.org>2002-04-04 16:40:11 +0000
commit2a571683e0a57e785364a0bccbf360ed24409bd1 (patch)
tree0c42f5ebb506901171cb484f5657e10bbadda266 /tools/regression/geom/geom_simdisk_xml.c
parent4189a2f933a2f13043ab60a6b76bd575fa0eb870 (diff)
downloadFreeBSD-src-2a571683e0a57e785364a0bccbf360ed24409bd1.zip
FreeBSD-src-2a571683e0a57e785364a0bccbf360ed24409bd1.tar.gz
Play catch up with the kernel.
Sponsored by: DARPA & NAI Labs
Diffstat (limited to 'tools/regression/geom/geom_simdisk_xml.c')
-rw-r--r--tools/regression/geom/geom_simdisk_xml.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/regression/geom/geom_simdisk_xml.c b/tools/regression/geom/geom_simdisk_xml.c
index 93bcf98..54b6b9d 100644
--- a/tools/regression/geom/geom_simdisk_xml.c
+++ b/tools/regression/geom/geom_simdisk_xml.c
@@ -124,6 +124,7 @@ endElement(void *userData, const char *name)
char *p;
u_char *q;
int i, j;
+ off_t o;
sc = userData;
@@ -137,9 +138,11 @@ endElement(void *userData, const char *name)
if (*p != '\0')
errx(1, "strtoul croaked on sectorsize");
} else if (!strcasecmp(name, "mediasize")) {
- sc->mediasize = strtoull(sbuf_data(sc->sbuf), &p, 0);
+ o = strtoull(sbuf_data(sc->sbuf), &p, 0);
if (*p != '\0')
errx(1, "strtoul croaked on mediasize");
+ if (o > 0)
+ sc->mediasize = o;
} else if (!strcasecmp(name, "fwsectors")) {
sc->fwsectors = strtoul(sbuf_data(sc->sbuf), &p, 0);
if (*p != '\0')
@@ -219,6 +222,7 @@ g_simdisk_xml_load(char *name, char *file)
sc = calloc(1, sizeof *sc);
sc->fd = -1;
sc->sbuf = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
+ sc->mediasize = 1024 * 1024 * 1024 * (off_t)1024;
LIST_INIT(&sc->sectors);
TAILQ_INIT(&sc->sort);
XML_SetUserData(parser, sc);
OpenPOWER on IntegriCloud