[coreboot-gerrit] Patch set updated for coreboot: cbfstool: use struct cbfs_file * instead of void *

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Wed Aug 26 14:24:41 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11331

-gerrit

commit dc8b7cd8a0d2ed6a3aaf52c91abb7101bb81f817
Author: Patrick Georgi <patrick at georgi-clan.de>
Date:   Tue Aug 25 22:26:02 2015 +0200

    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 at georgi-clan.de>
---
 util/cbfstool/cbfs_image.c | 8 ++++----
 util/cbfstool/cbfs_image.h | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

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 @@ static int cbfs_add_entry_at(struct cbfs_image *image,
 			     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 @@ static int cbfs_add_entry_at(struct cbfs_image *image,
 	}
 
 	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 @@ static int cbfs_add_entry_at(struct cbfs_image *image,
 
 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 @@ int cbfs_export_entry(struct cbfs_image *image, const char *entry_name,
  * 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);



More information about the coreboot-gerrit mailing list