Thanks for fix. Tested-by: Martin Jansa <martin.ja...@gmail.com>
On Mon, Apr 15, 2024 at 10:56 PM Bruce Ashfield via lists.yoctoproject.org <bruce.ashfield=gmail....@lists.yoctoproject.org> wrote: > > Thanks for the fix! > > Your patching workflow is misconfigured and the author > field is incorrect. > > Total 12 (delta 7), reused 0 (delta 0), pack-reused 0 > remote: ############################################## > remote: Invalid author Ola x Nilsson via lists.yoctoproject.org > remote: ############################################## > > See: > https://docs.yoctoproject.org/dev/contributor-guide/submit-changes.html#troubleshooting-email-issues > > Bruce > > In message: [meta-virtualization][PATCH] diod: Build in 32bit systems with > 64bit time_t > on 15/04/2024 Ola x Nilsson via lists.yoctoproject.org wrote: > > > Change-Id: I84c9c3526b79a63de7cdc2f0841bce26e29a72a2 > > Signed-off-by: Ola x Nilsson <ol...@axis.com> > > --- > > recipes-extended/diod/diod_1.0.24.bb | 1 + > > ...ous-time_t-sizes-in-printf-and-scanf.patch | 100 ++++++++++++++++++ > > 2 files changed, 101 insertions(+) > > create mode 100644 > > recipes-extended/diod/files/0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch > > > > diff --git a/recipes-extended/diod/diod_1.0.24.bb > > b/recipes-extended/diod/diod_1.0.24.bb > > index 5e191dc0..6019fbfb 100644 > > --- a/recipes-extended/diod/diod_1.0.24.bb > > +++ b/recipes-extended/diod/diod_1.0.24.bb > > @@ -14,6 +14,7 @@ SRC_URI = > > "git://github.com/chaos/diod.git;protocol=https;branch=master \ > > file://diod \ > > file://diod.conf \ > > file://0001-build-Find-lua-with-pkg-config.patch \ > > + > > file://0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch \ > > " > > DEPENDS = "libcap ncurses tcp-wrappers lua" > > > > diff --git > > a/recipes-extended/diod/files/0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch > > > > b/recipes-extended/diod/files/0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch > > new file mode 100644 > > index 00000000..3c13c101 > > --- /dev/null > > +++ > > b/recipes-extended/diod/files/0002-Handle-various-time_t-sizes-in-printf-and-scanf.patch > > @@ -0,0 +1,100 @@ > > +From 04b0c5a5cb9e32090b177ff7327ad3260783abe0 Mon Sep 17 00:00:00 2001 > > +From: Ola x Nilsson <ol...@axis.com> > > +Date: Mon, 15 Apr 2024 17:31:44 +0200 > > +Subject: [PATCH] Handle various time_t sizes in printf and scanf > > + > > +The members of the timeval struct are both signed (defined by POSIX) > > +and typically both 64 bits on a system where time_t is 64 bits. This > > +is possible also on 32 bit systems where time_t is larger to handle > > +the 2038 problem. > > + > > +It's practically impossible to find a type and printf format that > > +works even on all glibc systems. Play it safe and always use printf > > +with intmax_t and explict int64_t variables for scanf. > > + > > +Upstream-Status: Submitted [https://github.com/chaos/diod/pull/100] > > +Signed-off-by: Ola x Nilsson <ol...@axis.com> > > +--- > > + libnpfs/conn.c | 5 +++-- > > + libnpfs/ctl.c | 7 ++++--- > > + utils/dioddate.c | 8 +++++++- > > + 3 files changed, 14 insertions(+), 6 deletions(-) > > + > > +diff --git a/libnpfs/conn.c b/libnpfs/conn.c > > +index 6e85fff..c34c840 100644 > > +--- a/libnpfs/conn.c > > ++++ b/libnpfs/conn.c > > +@@ -16,6 +16,7 @@ > > + #include <stdio.h> > > + #include <string.h> > > + #include <stdint.h> > > ++#include <inttypes.h> > > + #include <stdarg.h> > > + #include <errno.h> > > + #include <pthread.h> > > +@@ -133,8 +134,8 @@ _debug_trace (Npsrv *srv, Npfcall *fc) > > + (void)gettimeofday(&b, NULL); > > + (void)gettimeofday(&a, NULL); > > + timersub(&a, &b, &c); > > +- np_logmsg(srv, "[%lu.%-3lu] %s", > > +- c.tv_sec, c.tv_usec/1000, s); > > ++ np_logmsg(srv, "[%"PRIdMAX".%-3"PRIdMAX"] %s", > > ++ (intmax_t)c.tv_sec, > > (intmax_t)c.tv_usec/1000, s); > > + } else > > + np_logmsg(srv, "%s", s); > > + } > > +diff --git a/libnpfs/ctl.c b/libnpfs/ctl.c > > +index f40cde4..317a22e 100644 > > +--- a/libnpfs/ctl.c > > ++++ b/libnpfs/ctl.c > > +@@ -16,6 +16,7 @@ > > + #include <stdio.h> > > + #include <string.h> > > + #include <stdint.h> > > ++#include <inttypes.h> > > + #include <stdarg.h> > > + #include <pthread.h> > > + #include <errno.h> > > +@@ -291,9 +292,9 @@ _ctl_get_date (char *name, void *a) > > + np_uerror (errno); > > + goto error; > > + } > > +- if (aspf (&s, &len, "%lu.%lu %d.%d\n", > > +- tv.tv_sec, tv.tv_usec, > > +- tz.tz_minuteswest, tz.tz_dsttime) < > > 0) { > > ++ if (aspf (&s, &len, "%"PRIdMAX".%"PRIdMAX" %d.%d\n", > > ++ (uintmax_t)tv.tv_sec, > > (uintmax_t)tv.tv_usec, > > ++ tz.tz_minuteswest, tz.tz_dsttime) > > < 0) { > > + np_uerror (ENOMEM); > > + goto error; > > + } > > +diff --git a/utils/dioddate.c b/utils/dioddate.c > > +index bde002f..f392792 100644 > > +--- a/utils/dioddate.c > > ++++ b/utils/dioddate.c > > +@@ -21,6 +21,7 @@ > > + #include <unistd.h> > > + #include <stdlib.h> > > + #include <stdint.h> > > ++#include <inttypes.h> > > + #include <stdarg.h> > > + #include <stdio.h> > > + #if HAVE_GETOPT_H > > +@@ -142,11 +143,16 @@ main (int argc, char *argv[]) > > + errn (np_rerror (), "error reading date"); > > + goto done; > > + } > > +- if (sscanf (buf, "%lu.%lu %d.%d", &tv.tv_sec, &tv.tv_usec, > > ++ > > ++ int64_t sec = 0, usec = 0; > > ++ if (sscanf (buf, "%"SCNd64".%"SCNd64" %d.%d", &sec, &usec, > > + &tz.tz_minuteswest, &tz.tz_dsttime) > > != 4) { > > + msg ("error scanning returned date: %s", buf); > > + goto done; > > + } > > ++ tv.tv_sec = sec; > > ++ tv.tv_usec = usec; > > ++ > > + if (Sopt) { > > + if (settimeofday (&tv, &tz) < 0) > > + err_exit ("settimeofday"); > > -- > > 2.39.2 > > > > > > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8681): https://lists.yoctoproject.org/g/meta-virtualization/message/8681 Mute This Topic: https://lists.yoctoproject.org/mt/105539333/21656 Group Owner: meta-virtualization+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-