Date: Sun, 26 Sep 2021 23:05:46 -0700 From: Mark Millard via freebsd-ports <freebsd-ports@freebsd.org> To: Ian Lepore <ian@freebsd.org>, Bryan Drewery <bdrewery@FreeBSD.org> Cc: freebsd-ports@freebsd.org, freebsd-current <freebsd-current@freebsd.org>, Free BSD <freebsd-arm@freebsd.org> Subject: Re: I get odd time reports from poudriere on armv7 system, under a (non-debug) main [so: 14] FreeBSD. Message-ID: <0FE65CAD-EDFF-4CE8-8750-BD4F6971CAA0@yahoo.com> In-Reply-To: <e20c23c3b540203680ce79d8756aa21aaeb96612.camel@freebsd.org> References: <C6D3F55B-C567-4EED-AC88-B6C18F6C6154@yahoo.com> <187B69AF-9465-41DE-BFD0-A4AA0F7F9068@yahoo.com> <e20c23c3b540203680ce79d8756aa21aaeb96612.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Sep-26, at 10:02, Ian Lepore <ian at freebsd.org> wrote: > On Sun, 2021-09-26 at 02:27 -0700, Mark Millard via freebsd-current > wrote: >> On 2021-Sep-25, at 23:25, Mark Millard <marklmi at yahoo.com> wrote: >>=20 >>=20 >> [...] >> if (argc =3D=3D 3 && strcmp(argv[2], "-nsec") =3D=3D 0) >> printf("%ld.%ld\n", ts.tv_sec, ts.tv_nsec); >=20 > There are two problems with this, both the seconds and nanos are > printed incorrectly. The correct incantation would be >=20 > printf("%jd.%09ld\n", (intmax_t)ts.tv_sec, ts.tv_nsec); >=20 Thanks Ian for looking into more than I did last night. Based on the following (up to possible e-mail white space issues), poudriere-devel seems t be working for reporting times: # more /usr/ports/ports-mgmt/poudriere-devel/files/patch-clock=20 --- src/libexec/poudriere/clock/clock.c.orig 2021-09-26 = 22:24:54.735485000 -0700 +++ src/libexec/poudriere/clock/clock.c 2021-09-26 11:46:12.076362000 = -0700 @@ -24,6 +24,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ =20 +#include <stdint.h> #include <err.h> #include <stdio.h> #include <stdlib.h> @@ -71,8 +72,8 @@ } else usage(); if (argc =3D=3D 3 && strcmp(argv[2], "-nsec") =3D=3D 0) - printf("%ld.%ld\n", ts.tv_sec, ts.tv_nsec); + printf("%jd.%09ld\n", (intmax_t)ts.tv_sec, ts.tv_nsec); else - printf("%ld\n", ts.tv_sec); + printf("%jd\n", (intmax_t)ts.tv_sec); return (EXIT_SUCCESS); } =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0FE65CAD-EDFF-4CE8-8750-BD4F6971CAA0>