File device-mapper-gcc-warnings.patch of Package lvm2.3105
Index: LVM2.2.02.109/libdm/datastruct/hash.c
===================================================================
--- LVM2.2.02.109.orig/libdm/datastruct/hash.c
+++ LVM2.2.02.109/libdm/datastruct/hash.c
@@ -19,7 +19,7 @@ struct dm_hash_node {
struct dm_hash_node *next;
void *data;
unsigned keylen;
- char key[0];
+ unsigned char key[0];
};
struct dm_hash_table {
@@ -136,7 +136,7 @@ void dm_hash_destroy(struct dm_hash_tabl
static struct dm_hash_node **_find(struct dm_hash_table *t, const void *key,
uint32_t len)
{
- unsigned h = _hash(key, len) & (t->num_slots - 1);
+ unsigned h = _hash((unsigned char *)key, len) & (t->num_slots - 1);
struct dm_hash_node **c;
for (c = &t->slots[h]; *c; c = &((*c)->next)) {
@@ -235,7 +235,8 @@ void dm_hash_wipe(struct dm_hash_table *
char *dm_hash_get_key(struct dm_hash_table *t __attribute__((unused)),
struct dm_hash_node *n)
{
- return n->key;
+ return (char *)n->key;
+
}
void *dm_hash_get_data(struct dm_hash_table *t __attribute__((unused)),
Index: LVM2.2.02.109/libdm/ioctl/libdm-iface.c
===================================================================
--- LVM2.2.02.109.orig/libdm/ioctl/libdm-iface.c
+++ LVM2.2.02.109/libdm/ioctl/libdm-iface.c
@@ -1751,7 +1751,7 @@ static struct dm_ioctl *_do_dm_ioctl(str
dmt->secure_data ? "W " : "",
dmt->query_inactive_table ? "I " : "",
dmt->enable_checks ? "C" : "",
- dmt->sector, _sanitise_message(dmt->message),
+ (unsigned long long int)dmt->sector, _sanitise_message(dmt->message),
dmi->data_size, retry_repeat_count);
#ifdef DM_IOCTLS
if (ioctl(_control_fd, command, dmi) < 0 &&