ext2fs_getmem(), ext2fs_free_mem(), and ext2fs_resize_mem()
all now take a 'void *' instead of a 'void **' in order to
avoid pointer aliasing problems with GCC 3.x.
diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
index b2deb70..2c732e9 100644
--- a/lib/ext2fs/unix_io.c
+++ b/lib/ext2fs/unix_io.c
@@ -253,7 +253,7 @@
cache->dirty = 0;
cache->in_use = 0;
if ((retval = ext2fs_get_mem(channel->block_size,
- (void **) &cache->buf)))
+ &cache->buf)))
return retval;
}
return 0;
@@ -273,7 +273,7 @@
cache->dirty = 0;
cache->in_use = 0;
if (cache->buf)
- ext2fs_free_mem((void **) &cache->buf);
+ ext2fs_free_mem(&cache->buf);
cache->buf = 0;
}
}
@@ -374,19 +374,17 @@
if (name == 0)
return EXT2_ET_BAD_DEVICE_NAME;
- retval = ext2fs_get_mem(sizeof(struct struct_io_channel),
- (void **) &io);
+ retval = ext2fs_get_mem(sizeof(struct struct_io_channel), &io);
if (retval)
return retval;
memset(io, 0, sizeof(struct struct_io_channel));
io->magic = EXT2_ET_MAGIC_IO_CHANNEL;
- retval = ext2fs_get_mem(sizeof(struct unix_private_data),
- (void **) &data);
+ retval = ext2fs_get_mem(sizeof(struct unix_private_data), &data);
if (retval)
goto cleanup;
io->manager = unix_io_manager;
- retval = ext2fs_get_mem(strlen(name)+1, (void **) &io->name);
+ retval = ext2fs_get_mem(strlen(name)+1, &io->name);
if (retval)
goto cleanup;
@@ -454,10 +452,10 @@
cleanup:
if (data) {
free_cache(io, data);
- ext2fs_free_mem((void **) &data);
+ ext2fs_free_mem(&data);
}
if (io)
- ext2fs_free_mem((void **) &io);
+ ext2fs_free_mem(&io);
return retval;
}
@@ -481,10 +479,10 @@
retval = errno;
free_cache(channel, data);
- ext2fs_free_mem((void **) &channel->private_data);
+ ext2fs_free_mem(&channel->private_data);
if (channel->name)
- ext2fs_free_mem((void **) &channel->name);
- ext2fs_free_mem((void **) &channel);
+ ext2fs_free_mem(&channel->name);
+ ext2fs_free_mem(&channel);
return retval;
}