Accepting request 1187184 from home:jamborm:gcc14fixes

- Added rrdtool-fix_extra_reference.patch to fix pointer type
  incompatibility and allow the package to be built with GCC 14
  without explicitely demoting errors to warnings. [boo#1225919]

If the request is OK, please forward it to Factory soon-ish so that we
can switch the default compiler.

OBS-URL: https://build.opensuse.org/request/show/1187184
OBS-URL: https://build.opensuse.org/package/show/server:database/rrdtool?expand=0&rev=9
This commit is contained in:
Martin Pluskal 2024-07-16 11:11:46 +00:00 committed by Git OBS Bridge
parent 6364af25d9
commit 382e5030de
3 changed files with 59 additions and 1 deletions

View File

@ -0,0 +1,50 @@
From: Martin Jambor <mjambor@suse.cz>
Date: Fri, 12 Jul 2024 17:02:04 +0200
Subject: [PATCH] Fix extra reference of parameters of rrd_fetch_dbi_{long,double}
Upstream: https://github.com/oetiker/rrdtool-1.x/pull/1255
Refrences: boo#1225919
Functions rrd_fetch_dbi_long and rrd_fetch_dbi_double currently take
the first parameter of type "bi_result result *" even though that is
already a pointer and the use of that parameter suggests the extra
indirection is not wanted. What is more, the caller passes just
"bi_result result" to the corresponding actual arguments which results
in compile errors with GCC 14 because it now does not accept
incompatible pointer types by default.
---
src/rrd_fetch_libdbi.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/rrd_fetch_libdbi.c b/src/rrd_fetch_libdbi.c
index fe02b0d8..e4eccaa5 100644
--- a/src/rrd_fetch_libdbi.c
+++ b/src/rrd_fetch_libdbi.c
@@ -26,13 +26,13 @@ static char* _find_next_separator(char* start,char separator);
static char* _find_next_separator_twice(char*start,char separator);
static char _hexcharhelper(char c);
static int _inline_unescape (char* string);
-static double rrd_fetch_dbi_double(dbi_result *result,int idx);
-static long rrd_fetch_dbi_long(dbi_result *result,int idx);
+static double rrd_fetch_dbi_double(dbi_result result,int idx);
+static long rrd_fetch_dbi_long(dbi_result result,int idx);
/* the real code */
/* helpers to get correctly converted values from DB*/
-static long rrd_fetch_dbi_long(dbi_result *result,int idx) {
+static long rrd_fetch_dbi_long(dbi_result result,int idx) {
char *ptmp="";
long value=DNAN;
/* get the attributes for this filed */
@@ -89,7 +89,7 @@ static long rrd_fetch_dbi_long(dbi_result *result,int idx) {
return value;
}
-static double rrd_fetch_dbi_double(dbi_result *result,int idx) {
+static double rrd_fetch_dbi_double(dbi_result result,int idx) {
char *ptmp="";
double value=DNAN;
/* get the attributes for this filed */
--
2.45.2

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Jul 12 15:12:22 UTC 2024 - Martin Jambor <mjambor@suse.com>
- Added rrdtool-fix_extra_reference.patch to fix pointer type
incompatibility and allow the package to be built with GCC 14
without explicitely demoting errors to warnings. [boo#1225919]
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jul 5 20:30:43 UTC 2024 - Friedrich Haubensak <hsk17@mail.de> Fri Jul 5 20:30:43 UTC 2024 - Friedrich Haubensak <hsk17@mail.de>

View File

@ -1,7 +1,7 @@
# #
# spec file for package rrdtool # spec file for package rrdtool
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2024 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -55,6 +55,7 @@ Patch2: rrdtool-1.8.0-gcc14.patch
# PATCH-FIX-UPSTREAM -- bnc#793636 # PATCH-FIX-UPSTREAM -- bnc#793636
Patch12: rrdtool-zero_vs_nothing.patch Patch12: rrdtool-zero_vs_nothing.patch
Patch14: harden_rrdcached.service.patch Patch14: harden_rrdcached.service.patch
Patch15: rrdtool-fix_extra_reference.patch
# Needed for tests # Needed for tests
BuildRequires: bc BuildRequires: bc
BuildRequires: cairo-devel >= 1.2 BuildRequires: cairo-devel >= 1.2