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;
|
|||
|
}
|