package/dvb-apps: fix build with gcc >= 14

Workaround for glibc 2.31 added by commit
bbe170dbcf back in 2020 is incorrect as it
writes new_time (a pointer on time_t) into timespec.tv_sec (i.e. time_t).
This mistake raises the following build failure with gcc >= 14:

dvbdate.c: In function 'set_time':
dvbdate.c:313:18: error: assignment to '__time_t' {aka 'long int'} from 'time_t *' {aka 'long int *'} makes integer from pointer without a cast [-Wint-conversion]
  313 |         s.tv_sec = new_time;
      |                  ^

It shall be noted that gentoo also spotted this mistake:
https://gitweb.gentoo.org/repo/gentoo.git/commit/media-tv/linuxtv-dvb-apps/files?id=81e99f1c753d1cb564be29b22dcd8927830c4b9a

Fixes: bbe170dbcf
 - http://autobuild.buildroot.org/results/e99b9ebf602d307fbc32f2a367e95177f53a68f9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit fcfc399b1d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Fabrice Fontaine 2024-07-23 18:25:33 +02:00 committed by Peter Korsgaard
parent 6f7d3f3b80
commit b88bcdc9aa

View File

@ -4,6 +4,8 @@ as stime func doesn't exists anymore in newer versions of glibc >= 2.31 due
to obseletion, a replacment with clock_settime is inorder to fix the issue.
Signed-off-by: Dagg Stompler <daggs@gmx.com>
[Fabrice: fix for gcc >= 14]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
--- a/util/dvbdate/dvbdate.c
+++ b/util/dvbdate/dvbdate.c
@ -13,7 +15,7 @@ Signed-off-by: Dagg Stompler <daggs@gmx.com>
{
- if (stime(new_time)) {
+ struct timespec s = {0};
+ s.tv_sec = new_time;
+ s.tv_sec = *new_time;
+
+ if (clock_settime(CLOCK_REALTIME, &s)) {
perror("Unable to set time");