File reiserfs-strict-aliasing.diff of Package libreiserfs.23572
diff -uNrp progsreiserfs-0.3.0.5.orig/include/reiserfs/key.h progsreiserfs-0.3.0.5/include/reiserfs/key.h
--- progsreiserfs-0.3.0.5.orig/include/reiserfs/key.h 2004-04-18 18:05:47.000000000 +0000
+++ progsreiserfs-0.3.0.5/include/reiserfs/key.h 2005-12-19 15:28:52.000000000 +0000
@@ -48,6 +48,7 @@ struct key {
union {
struct offset_v1 k_offset_v1;
struct offset_v2 k_offset_v2;
+ uint64_t k_offset_val;
} __attribute__ ((__packed__)) u;
} __attribute__ ((__packed__));
diff -uNrp progsreiserfs-0.3.0.5.orig/libreiserfs/bitmap.c progsreiserfs-0.3.0.5/libreiserfs/bitmap.c
--- progsreiserfs-0.3.0.5.orig/libreiserfs/bitmap.c 2004-04-18 17:40:06.000000000 +0000
+++ progsreiserfs-0.3.0.5/libreiserfs/bitmap.c 2005-12-19 15:32:54.000000000 +0000
@@ -357,7 +357,7 @@ int reiserfs_bm_resize(reiserfs_bitmap_t
if (bm_size - bm->bm_size == 0)
return 1;
- if (!libreiserfs_realloc((void **)&bm->bm_map, bm_size))
+ if (!libreiserfs_realloc(&bm->bm_map, bm_size))
return 0;
if ((chunk = bm_size - bm->bm_size) > 0)
diff -uNrp progsreiserfs-0.3.0.5.orig/libreiserfs/block.c progsreiserfs-0.3.0.5/libreiserfs/block.c
--- progsreiserfs-0.3.0.5.orig/libreiserfs/block.c 2004-04-18 15:52:19.000000000 +0000
+++ progsreiserfs-0.3.0.5/libreiserfs/block.c 2005-12-19 15:33:00.000000000 +0000
@@ -73,7 +73,7 @@ reiserfs_block_t *reiserfs_block_alloc_w
reiserfs_block_t *reiserfs_block_realloc(reiserfs_block_t *block, blk_t blk) {
ASSERT(block != NULL, return NULL);
- if (!libreiserfs_realloc((void **)&block->data,
+ if (!libreiserfs_realloc(&block->data,
dal_block_size(block->dal)))
{
return NULL;
diff -uNrp progsreiserfs-0.3.0.5.orig/libreiserfs/key.c progsreiserfs-0.3.0.5/libreiserfs/key.c
--- progsreiserfs-0.3.0.5.orig/libreiserfs/key.c 2004-04-18 17:30:14.000000000 +0000
+++ progsreiserfs-0.3.0.5/libreiserfs/key.c 2005-12-19 15:32:40.000000000 +0000
@@ -64,7 +64,7 @@ uint32_t reiserfs_key_type2uniq(uint32_t
uint64_t get_key_v2_offset(const struct key *key) {
uint64_t * p, tmp;
- p = (uint64_t *)(&(key->u.k_offset_v2));
+ p = &(key->u.k_offset_val);
tmp = LE64_TO_CPU(*p);
tmp &= KEY_OFFSET_MASK;
tmp >>= 0;
@@ -74,7 +74,7 @@ uint64_t get_key_v2_offset(const struct
void set_key_v2_offset(struct key *key, uint64_t val) {
uint64_t * p, tmp;
- p = (uint64_t *)(&(key->u.k_offset_v2));
+ p = &(key->u.k_offset_val);
tmp = LE64_TO_CPU(*p);
tmp &= ~KEY_OFFSET_MASK;
tmp |= (val << 0);
@@ -85,7 +85,7 @@ void set_key_v2_offset(struct key *key,
uint16_t get_key_v2_type(const struct key *key) {
uint64_t * p, tmp;
- p = (uint64_t *)(&(key->u.k_offset_v2));
+ p = &(key->u.k_offset_val);
tmp = LE64_TO_CPU (*p);
tmp &= KEY_TYPE_MASK;
tmp >>= 60;
@@ -101,7 +101,7 @@ void set_key_v2_type(struct key *key, ui
return;
}
- p = (uint64_t *)(&(key->u.k_offset_v2));
+ p = &(key->u.k_offset_val);
tmp = LE64_TO_CPU(*p);
tmp &= ~KEY_TYPE_MASK;
tmp |= (val << 60);