File pdisk.type-punning.patch of Package pdisk
partition_map.c: In function 'open_partition_map':
partition_map.c:179: warning: dereferencing type-punned pointer will break strict-aliasing rules
partition_map.c: In function 'create_partition_map':
partition_map.c:468: warning: dereferencing type-punned pointer will break strict-aliasing rules
partition_map.c:489: warning: dereferencing type-punned pointer will break strict-aliasing rules
partition_map.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
Index: pdisk/partition_map.c
===================================================================
--- pdisk.orig/partition_map.c
+++ pdisk/partition_map.c
@@ -121,7 +121,7 @@ open_partition_map(char *name, int *vali
MEDIA m;
partition_map_header * map;
int writeable;
- int size;
+ long size;
m = open_pathname_as_media(name, (rflag)?O_RDONLY:O_RDWR);
if (m == 0) {
@@ -173,10 +173,10 @@ open_partition_map(char *name, int *vali
if (ask_logical_size && interactive) {
size = PBLOCK_SIZE;
- printf("A logical block is %d bytes: ", size);
+ printf("A logical block is %ld bytes: ", size);
flush_to_newline(0);
get_number_argument("what should be the logical block size? ",
- (long *)&size, size);
+ &size, size);
size = (size / PBLOCK_SIZE) * PBLOCK_SIZE;
if (size < PBLOCK_SIZE) {
size = PBLOCK_SIZE;
@@ -432,7 +432,7 @@ create_partition_map(char *name, partiti
DPME *data;
unsigned long default_number;
unsigned long number;
- int size;
+ long size;
unsigned long multiple;
m = open_pathname_as_media(name, (rflag)?O_RDONLY:O_RDWR);
@@ -462,10 +462,10 @@ create_partition_map(char *name, partiti
m = open_deblock_media(PBLOCK_SIZE, m);
map->m = m;
if (interactive) {
- printf("A physical block is %d bytes: ", size);
+ printf("A physical block is %ld bytes: ", size);
flush_to_newline(0);
get_number_argument("what should be the physical block size? ",
- (long *)&size, size);
+ &size, size);
size = (size / PBLOCK_SIZE) * PBLOCK_SIZE;
if (size < PBLOCK_SIZE) {
size = PBLOCK_SIZE;
@@ -483,10 +483,10 @@ create_partition_map(char *name, partiti
size = PBLOCK_SIZE;
}
if (interactive) {
- printf("A logical block is %d bytes: ", size);
+ printf("A logical block is %ld bytes: ", size);
flush_to_newline(0);
get_number_argument("what should be the logical block size? ",
- (long *)&size, size);
+ &size, size);
size = (size / PBLOCK_SIZE) * PBLOCK_SIZE;
if (size < PBLOCK_SIZE) {
size = PBLOCK_SIZE;