cbfstool: use struct cbfs_file * instead of void *
My concern was that compilers may something stupid under the assumption
of a fixed struct size, but filename is already variable, so things are
okay.
Change-Id: I5348faf68f0a7993294e9de4c0b6c737278b28af
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/11331
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/util/cbfstool/cbfs_image.c b/util/cbfstool/cbfs_image.c
index 7066b99..53ce604 100644
--- a/util/cbfstool/cbfs_image.c
+++ b/util/cbfstool/cbfs_image.c
@@ -457,7 +457,7 @@
struct cbfs_file *entry,
const void *data,
uint32_t content_offset,
- const void *header_data,
+ const struct cbfs_file *header,
uint32_t header_size)
{
struct cbfs_file *next = cbfs_find_next_entry(image, entry);
@@ -487,7 +487,7 @@
}
len = content_offset - addr - header_size;
- memcpy(entry, header_data, header_size);
+ memcpy(entry, header, header_size);
if (len != 0) {
/* the header moved backwards a bit to accomodate cbfs_file
* alignment requirements, so patch up ->offset to still point
@@ -533,14 +533,14 @@
int cbfs_add_entry(struct cbfs_image *image, struct buffer *buffer,
uint32_t content_offset,
- void *header, uint32_t header_size)
+ struct cbfs_file *header, uint32_t header_size)
{
assert(image);
assert(buffer);
assert(buffer->data);
assert(!IS_TOP_ALIGNED_ADDRESS(content_offset));
- const char *name = ((struct cbfs_file *)header)->filename;
+ const char *name = header->filename;
uint32_t entry_type;
uint32_t addr, addr_next;
diff --git a/util/cbfstool/cbfs_image.h b/util/cbfstool/cbfs_image.h
index 02c4a2d..c1983e7 100644
--- a/util/cbfstool/cbfs_image.h
+++ b/util/cbfstool/cbfs_image.h
@@ -94,7 +94,7 @@
* Returns 0 on success, otherwise non-zero. */
int cbfs_add_entry(struct cbfs_image *image, struct buffer *buffer,
uint32_t content_offset,
- void *header, uint32_t header_size);
+ struct cbfs_file *header, uint32_t header_size);
/* Removes an entry from CBFS image. Returns 0 on success, otherwise non-zero. */
int cbfs_remove_entry(struct cbfs_image *image, const char *name);