Make mdmfs 64-bit clean. Discussed with: delphij, stefanf Pointyhat to: ssouhlal Index: src/sbin/mdmfs/mdmfs.c =================================================================== --- src/sbin/mdmfs/mdmfs.c (revision 153) +++ src/sbin/mdmfs/mdmfs.c (working copy) @@ -95,6 +95,7 @@ char *p; int ch; void *set; + unsigned long ul; /* Misc. initialization. */ memset(&mi, '\0', sizeof(mi)); @@ -257,9 +258,10 @@ autounit = true; unit = -1; } else { - unit = strtoul(unitstr, &p, 10); - if ((unsigned)unit == (unsigned)ULONG_MAX || *p != '\0') + ul = strtoul(unitstr, &p, 10); + if (ul == ULONG_MAX || *p != '\0') errx(1, "bad device unit: %s", unitstr); + unit = ul; } mtpoint = argv[1]; @@ -367,6 +369,7 @@ int rv; char *p; size_t linelen; + unsigned long ul; switch (mdtype) { case MD_SWAP: @@ -403,9 +406,10 @@ /* Can't use strlcpy because linep is not NULL-terminated. */ strncpy(linebuf, linep + mdnamelen, linelen); linebuf[linelen] = '\0'; - unit = strtoul(linebuf, &p, 10); - if ((unsigned)unit == (unsigned)ULONG_MAX || *p != '\n') + ul = strtoul(linebuf, &p, 10); + if (ul == ULONG_MAX || *p != '\n') errx(1, "unexpected output from mdconfig (attach)"); + unit = ul; fclose(sfd); close(fd);