[PATCH 2/2] fix lzo usage on 64bit systems
Sebastian Andrzej Siewior
sebastian at breakpoint.cc
Mon Feb 23 16:38:54 EST 2009
the compress size parameter in lzo is defined in the header file as lzo_uint.
This looks very much like uint32_t, I know, but is defined as unsigned long.
So on 64bit LE systems we zero some bytes near by and on BE systems we
get a size of zero.
Signed-off-by: Sebastian Andrzej Siewior <sebastian at breakpoint.cc>
---
compr_lzo.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/compr_lzo.c b/compr_lzo.c
index a0bb362..3d7dad7 100644
--- a/compr_lzo.c
+++ b/compr_lzo.c
@@ -48,7 +48,7 @@ static void *lzo_compress_buf;
static int jffs2_lzo_cmpr(unsigned char *data_in, unsigned char *cpage_out,
uint32_t *sourcelen, uint32_t *dstlen, void *model)
{
- uint32_t compress_size;
+ lzo_uint compress_size;
int ret;
ret = lzo1x_999_compress(data_in, *sourcelen, lzo_compress_buf, &compress_size, lzo_mem);
@@ -69,7 +69,7 @@ static int jffs2_lzo_decompress(unsigned char *data_in, unsigned char *cpage_out
uint32_t srclen, uint32_t destlen, void *model)
{
int ret;
- uint32_t dl;
+ lzo_uint dl;
ret = lzo1x_decompress_safe(data_in,srclen,cpage_out,&dl,NULL);
--
1.6.1.3
More information about the linux-mtd
mailing list