summaryrefslogtreecommitdiff
path: root/src/lib/cbfs_core.c
diff options
context:
space:
mode:
authorVladimir Serbinenko <phcoder@gmail.com>2014-01-12 13:45:52 +0100
committerVladimir Serbinenko <phcoder@gmail.com>2014-01-12 17:41:02 +0100
commit0af61b6c82d7ff02426a26bf435b7c6ee768a602 (patch)
tree02066827b2a7ff20d11be95f7c344880a7f8e7dc /src/lib/cbfs_core.c
parente4ac9c043a9bb0a6601bbdca1a99a3811f7c94d8 (diff)
lib/cbfs_core.c: Supply size of file as well in cbfs_get_file_content
Change-Id: I5b93e5321e470f19ad22ca2cfdb1ebf3b340b252 Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-on: http://review.coreboot.org/4659 Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/lib/cbfs_core.c')
-rw-r--r--src/lib/cbfs_core.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/cbfs_core.c b/src/lib/cbfs_core.c
index 612fef2a6f..839b994cf3 100644
--- a/src/lib/cbfs_core.c
+++ b/src/lib/cbfs_core.c
@@ -173,10 +173,14 @@ struct cbfs_file *cbfs_get_file(struct cbfs_media *media, const char *name)
return NULL;
}
-void *cbfs_get_file_content(struct cbfs_media *media, const char *name, int type)
+void *cbfs_get_file_content(struct cbfs_media *media, const char *name,
+ int type, size_t *sz)
{
struct cbfs_file *file = cbfs_get_file(media, name);
+ if (sz)
+ *sz = 0;
+
if (file == NULL) {
ERROR("Could not find file '%s'.\n", name);
return NULL;
@@ -188,6 +192,9 @@ void *cbfs_get_file_content(struct cbfs_media *media, const char *name, int type
return NULL;
}
+ if (sz)
+ *sz = ntohl(file->len);
+
return (void *)CBFS_SUBHEADER(file);
}