du is an easy on, though the use of fts_number here reminded me that we
need to increase to a long long at some point like the other BSDs did.
hexdump is...subtle, as it both creates format strings on the fly and
*rewrites* them! Turns out it was using %q for both of those, hah! The
display.c change is a straight forward quad_t-->int64_t conversion, while
the parse.c change is to use %ll instead of %q.
systat just needs u_quad_t to be converted to uint64_t, but while we're
here let's convert bcopy() to memcpy() and bzero() to memset().
ok?
PHilip
Index: usr.bin/du/du.c
===================================================================
RCS file: /data/src/openbsd/src/usr.bin/du/du.c,v
retrieving revision 1.31
diff -u -p -r1.31 du.c
--- usr.bin/du/du.c 10 Oct 2015 05:32:52 -0000 1.31
+++ usr.bin/du/du.c 15 Aug 2016 04:08:25 -0000
@@ -50,7 +50,7 @@
int linkchk(FTSENT *);
-void prtout(quad_t, char *, int);
+void prtout(int64_t, char *, int);
void usage(void);
int
@@ -59,7 +59,7 @@ main(int argc, char *argv[])
FTS *fts;
FTSENT *p;
long blocksize;
- quad_t totalblocks;
+ int64_t totalblocks;
int ftsoptions, listfiles, maxdepth;
int Hflag, Lflag, cflag, hflag, kflag;
int ch, notused, rval;
@@ -177,7 +177,7 @@ main(int argc, char *argv[])
* root of a traversal, display the total.
*/
if (p->fts_level <= maxdepth)
- prtout((quad_t)howmany(p->fts_number,
+ prtout(howmany(p->fts_number,
(unsigned long)blocksize), p->fts_path,
hflag);
break;
@@ -207,7 +207,7 @@ main(int argc, char *argv[])
if (errno)
err(1, "fts_read");
if (cflag) {
- prtout((quad_t)howmany(totalblocks, blocksize), "total", hflag);
+ prtout(howmany(totalblocks, blocksize), "total", hflag);
}
fts_close(fts);
exit(rval);
@@ -301,17 +301,17 @@ linkchk(FTSENT *p)
}
void
-prtout(quad_t size, char *path, int hflag)
+prtout(int64_t size, char *path, int hflag)
{
if (!hflag)
- (void)printf("%lld\t%s\n", (long long)size, path);
+ (void)printf("%lld\t%s\n", size, path);
else {
char buf[FMT_SCALED_STRSIZE];
if (fmt_scaled(size * 512, buf) == 0)
(void)printf("%s\t%s\n", buf, path);
else
- (void)printf("%lld\t%s\n", (long long)size, path);
+ (void)printf("%lld\t%s\n", size, path);
}
}
Index: usr.bin/hexdump/display.c
===================================================================
RCS file: /data/src/openbsd/src/usr.bin/hexdump/display.c,v
retrieving revision 1.24
diff -u -p -r1.24 display.c
--- usr.bin/hexdump/display.c 15 Mar 2016 04:19:13 -0000 1.24
+++ usr.bin/hexdump/display.c 15 Aug 2016 04:16:35 -0000
@@ -100,7 +100,7 @@ display(void)
for (pr = endfu->nextpr; pr; pr = pr->nextpr)
switch(pr->flags) {
case F_ADDRESS:
- (void)printf(pr->fmt, (quad_t)eaddress);
+ (void)printf(pr->fmt, (int64_t)eaddress);
break;
case F_TEXT:
(void)printf("%s", pr->fmt);
@@ -123,7 +123,7 @@ print(PR *pr, u_char *bp)
switch(pr->flags) {
case F_ADDRESS:
- (void)printf(pr->fmt, (quad_t)address);
+ (void)printf(pr->fmt, (int64_t)address);
break;
case F_BPAD:
(void)printf(pr->fmt, "");
@@ -149,15 +149,15 @@ print(PR *pr, u_char *bp)
case F_INT:
switch(pr->bcnt) {
case 1:
- (void)printf(pr->fmt, (quad_t)*bp);
+ (void)printf(pr->fmt, (int64_t)*bp);
break;
case 2:
memmove(&s2, bp, sizeof(s2));
- (void)printf(pr->fmt, (quad_t)s2);
+ (void)printf(pr->fmt, (int64_t)s2);
break;
case 4:
memmove(&s4, bp, sizeof(s4));
- (void)printf(pr->fmt, (quad_t)s4);
+ (void)printf(pr->fmt, (int64_t)s4);
break;
case 8:
memmove(&s8, bp, sizeof(s8));
@@ -180,15 +180,15 @@ print(PR *pr, u_char *bp)
case F_UINT:
switch(pr->bcnt) {
case 1:
- (void)printf(pr->fmt, (u_quad_t)*bp);
+ (void)printf(pr->fmt, (uint64_t)*bp);
break;
case 2:
memmove(&u2, bp, sizeof(u2));
- (void)printf(pr->fmt, (u_quad_t)u2);
+ (void)printf(pr->fmt, (uint64_t)u2);
break;
case 4:
memmove(&u4, bp, sizeof(u4));
- (void)printf(pr->fmt, (u_quad_t)u4);
+ (void)printf(pr->fmt, (uint64_t)u4);
break;
case 8:
memmove(&u8, bp, sizeof(u8));
Index: usr.bin/hexdump/parse.c
===================================================================
RCS file: /data/src/openbsd/src/usr.bin/hexdump/parse.c,v
retrieving revision 1.20
diff -u -p -r1.20 parse.c
--- usr.bin/hexdump/parse.c 15 Mar 2016 04:19:13 -0000 1.20
+++ usr.bin/hexdump/parse.c 15 Aug 2016 04:13:28 -0000
@@ -217,7 +217,7 @@ rewrite(FS *fs)
PR *pr, **nextpr;
FU *fu;
char *p1, *p2;
- char savech, *fmtp, cs[3];
+ char savech, *fmtp, cs[4];
int nconv, prec;
size_t len;
@@ -295,9 +295,10 @@ rewrite(FS *fs)
else
pr->flags = F_UINT;
- cs[2] = '\0';
- cs[1] = cs[0];
- cs[0] = 'q';
+ cs[3] = '\0';
+ cs[2] = cs[0];
+ cs[1] = 'l';
+ cs[0] = 'l';
switch(fu->bcnt) {
case 0: case 4:
pr->bcnt = 4;
@@ -355,9 +356,10 @@ rewrite(FS *fs)
++p2;
switch(p1[2]) {
case 'd': case 'o': case'x':
- cs[0] = 'q';
- cs[1] = p1[2];
- cs[2] = '\0';
+ cs[0] = 'l';
+ cs[1] = 'l';
+ cs[2] = p1[2];
+ cs[3] = '\0';
break;
default:
if (p1[2])
Index: usr.bin/systat/vmstat.c
===================================================================
RCS file: /data/src/openbsd/src/usr.bin/systat/vmstat.c,v
retrieving revision 1.80
diff -u -p -r1.80 vmstat.c
--- usr.bin/systat/vmstat.c 20 Aug 2015 22:32:42 -0000 1.80
+++ usr.bin/systat/vmstat.c 15 Aug 2016 04:35:28 -0000
@@ -64,7 +64,7 @@ static struct Info {
struct vmtotal Total;
struct nchstats nchstats;
long nchcount;
- u_quad_t *intrcnt;
+ uint64_t *intrcnt;
} s, s1, s2, s3, z;
extern struct _disk cur;
@@ -606,25 +606,25 @@ getinfo(struct Info *si)
size = sizeof(si->time);
if (sysctl(cp_time_mib, 2, &si->time, &size, NULL, 0) < 0) {
error("Can't get KERN_CPTIME: %s\n", strerror(errno));
- bzero(&si->time, sizeof(si->time));
+ memset(&si->time, 0, sizeof(si->time));
}
size = sizeof(si->nchstats);
if (sysctl(nchstats_mib, 2, &si->nchstats, &size, NULL, 0) < 0) {
error("Can't get KERN_NCHSTATS: %s\n", strerror(errno));
- bzero(&si->nchstats, sizeof(si->nchstats));
+ memset(&si->nchstats, 0, sizeof(si->nchstats));
}
size = sizeof(si->uvmexp);
if (sysctl(uvmexp_mib, 2, &si->uvmexp, &size, NULL, 0) < 0) {
error("Can't get VM_UVMEXP: %s\n", strerror(errno));
- bzero(&si->uvmexp, sizeof(si->uvmexp));
+ memset(&si->uvmexp, 0, sizeof(si->uvmexp));
}
size = sizeof(si->Total);
if (sysctl(vmtotal_mib, 2, &si->Total, &size, NULL, 0) < 0) {
error("Can't get VM_METER: %s\n", strerror(errno));
- bzero(&si->Total, sizeof(si->Total));
+ memset(&si->Total, 0, sizeof(si->Total));
}
}
@@ -632,7 +632,7 @@ static void
allocinfo(struct Info *si)
{
memset(si, 0, sizeof(*si));
- si->intrcnt = calloc(nintr, sizeof(u_quad_t));
+ si->intrcnt = calloc(nintr, sizeof *si->intrcnt);
if (si->intrcnt == NULL)
errx(2, "out of memory");
}
@@ -640,11 +640,11 @@ allocinfo(struct Info *si)
static void
copyinfo(struct Info *from, struct Info *to)
{
- u_quad_t *intrcnt;
+ uint64_t *intrcnt;
intrcnt = to->intrcnt;
*to = *from;
- bcopy(from->intrcnt, to->intrcnt = intrcnt, nintr * sizeof (u_quad_t));
+ memcpy(to->intrcnt = intrcnt, from->intrcnt, nintr * sizeof *intrcnt);
}
static void