diff options
Diffstat (limited to 'src/lib/cbfs_core.c')
-rw-r--r-- | src/lib/cbfs_core.c | 9 |
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); } |