From 86bf6795c3b1b537b5de07e3a5fca9faf4bd6073 Mon Sep 17 00:00:00 2001 From: Myles Watson Date: Fri, 9 Oct 2009 15:22:35 +0000 Subject: Move the ulzma prototype out of the function to make the code easier to read. Check the return value. Minor formatting and LAR -> CBFS. Signed-off-by: Myles Watson Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4752 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/include/cbfs.h | 2 +- src/lib/cbfs.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/include/cbfs.h b/src/include/cbfs.h index bca089a73b..a6b2c027b3 100644 --- a/src/include/cbfs.h +++ b/src/include/cbfs.h @@ -52,7 +52,7 @@ #include /** These are standard values for the known compression alogrithms that coreboot knows about for stages and - payloads. Of course, other LAR users can use whatever + payloads. Of course, other CBFS users can use whatever values they want, as long as they understand them. */ #define CBFS_COMPRESS_NONE 0 diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c index ad45ece95a..780d69f488 100644 --- a/src/lib/cbfs.c +++ b/src/lib/cbfs.c @@ -29,6 +29,8 @@ #define ntohl(x) (x) #endif +unsigned long ulzma(unsigned char *src, unsigned char *dst); + int cbfs_decompress(int algo, void *src, void *dst, int len) { switch(algo) { @@ -36,15 +38,15 @@ int cbfs_decompress(int algo, void *src, void *dst, int len) memcpy(dst, src, len); return 0; - case CBFS_COMPRESS_LZMA: { - unsigned long ulzma(unsigned char *src, unsigned char *dst); - ulzma(src, dst); - } + case CBFS_COMPRESS_LZMA: + if (!ulzma(src, dst)) { + printk_err("CBFS: LZMA decompression failed!\n"); + return -1; + } return 0; default: - printk_info( "CBFS: Unknown compression type %d\n", - algo); + printk_info( "CBFS: Unknown compression type %d\n", algo); return -1; } } -- cgit v1.2.3