- Fix build with gcc14: [bsc#1221011] * Upstream PR: https://github.com/perl5-dbi/DBD-mysql/pull/295 * Add perl-DBD-mysql-gcc14.patch OBS-URL: https://build.opensuse.org/request/show/1155577 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-DBD-mysql?expand=0&rev=77
41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From 93bc876808af048091bf76d6908a9748d0476ab9 Mon Sep 17 00:00:00 2001
|
||
From: Eric Herman <eric@freesa.org>
|
||
Date: Thu, 10 Jan 2019 10:22:38 +0100
|
||
Subject: [PATCH] Fix "assignment from incompatible pointer type"
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
I encountered this warning from gcc 7.3.0 building on Ubuntu:
|
||
|
||
dbdimp.c: In function ‘mysql_st_prepare’:
|
||
dbdimp.c:3207:24: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
|
||
bind->is_null= (_Bool*) &(fbind->is_null);
|
||
|
||
The "MYSQL_BIND" field "is_null" is of type "my_bool", not "_Bool".
|
||
|
||
The type "my_bool" is (usually) type-defined to be of a "char" type.
|
||
|
||
Regardless, the "imp_sth_phb_t" field "is_null" is of type "char".
|
||
|
||
This commit removes the cast, which means that if we later discover
|
||
that "my_bool" is defined to be of a type incompatible with the
|
||
"imp_sth_phb_t" field "is_null", it will break at compile-time.
|
||
---
|
||
dbdimp.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
diff --git a/dbdimp.c b/dbdimp.c
|
||
index b0399d94..e7e6c007 100644
|
||
--- a/dbdimp.c
|
||
+++ b/dbdimp.c
|
||
@@ -3204,7 +3204,7 @@ dbd_st_prepare(
|
||
bind->buffer_type= MYSQL_TYPE_STRING;
|
||
bind->buffer= NULL;
|
||
bind->length= &(fbind->length);
|
||
- bind->is_null= (_Bool*) &(fbind->is_null);
|
||
+ bind->is_null= &(fbind->is_null);
|
||
fbind->is_null= 1;
|
||
fbind->length= 0;
|
||
}
|