From 3f73bfb3e09c407425245aa5f62477fd572328c9 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sun, 18 Feb 2024 13:52:42 +0100 Subject: Make it possible to compile jffsX-utils without zlib The jffsX-utils already have a CONFIG_JFFS2_ZLIB define, but it is statically defined in a header and not used consistently. This patch first replaces it with a "WITH_ZLIB" define, provided via automake, to bring it in line with the already existing "WITH_LZO". Then, the missing checks and typedefs are added in jffs2reader.c. Signed-off-by: David Oberhollenzer --- Makefile.am | 2 ++ jffsX-utils/compr.c | 4 ++-- jffsX-utils/compr.h | 3 +-- jffsX-utils/jffs2reader.c | 7 ++++++- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Makefile.am b/Makefile.am index 299a5fb..06d154a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,6 +3,8 @@ ACLOCAL_AMFLAGS = -I m4 AM_CPPFLAGS = $(WARN_CFLAGS) -D_GNU_SOURCE -std=gnu99 -I$(top_srcdir)/include \ -include $(top_builddir)/include/config.h +AM_CPPFLAGS += -DWITH_ZLIB + if WITH_XATTR AM_CPPFLAGS += -DWITH_XATTR endif diff --git a/jffsX-utils/compr.c b/jffsX-utils/compr.c index 42d8a70..01176eb 100644 --- a/jffsX-utils/compr.c +++ b/jffsX-utils/compr.c @@ -511,7 +511,7 @@ reinsert: int jffs2_compressors_init(void) { -#ifdef CONFIG_JFFS2_ZLIB +#ifdef WITH_ZLIB jffs2_zlib_init(); #endif #ifdef CONFIG_JFFS2_RTIME @@ -528,7 +528,7 @@ int jffs2_compressors_exit(void) #ifdef CONFIG_JFFS2_RTIME jffs2_rtime_exit(); #endif -#ifdef CONFIG_JFFS2_ZLIB +#ifdef WITH_ZLIB jffs2_zlib_exit(); #endif #ifdef WITH_LZO diff --git a/jffsX-utils/compr.h b/jffsX-utils/compr.h index 0806f4d..f1f5975 100644 --- a/jffsX-utils/compr.h +++ b/jffsX-utils/compr.h @@ -16,7 +16,6 @@ #include #include "linux/jffs2.h" -#define CONFIG_JFFS2_ZLIB #define CONFIG_JFFS2_RTIME #define JFFS2_RUBINMIPS_PRIORITY 10 @@ -102,7 +101,7 @@ char *jffs2_stats(void); /* Compressor modules */ /* These functions will be called by jffs2_compressors_init/exit */ -#ifdef CONFIG_JFFS2_ZLIB +#ifdef WITH_ZLIB int jffs2_zlib_init(void); void jffs2_zlib_exit(void); #endif diff --git a/jffsX-utils/jffs2reader.c b/jffsX-utils/jffs2reader.c index 33c5577..87a2167 100644 --- a/jffsX-utils/jffs2reader.c +++ b/jffsX-utils/jffs2reader.c @@ -75,7 +75,11 @@ BUGS: #include #include #include +#ifdef WITH_ZLIB #include +#else +typedef unsigned long uLongf; +#endif #include "mtd/jffs2-user.h" #include "common.h" @@ -132,12 +136,13 @@ static void putblock(char *b, size_t bsize, size_t * rsize, bzero(b + *rsize, je32_to_cpu(n->isize) - *rsize); switch (n->compr) { +#ifdef WITH_ZLIB case JFFS2_COMPR_ZLIB: uncompress((Bytef *) b + je32_to_cpu(n->offset), &dlen, (Bytef *) ((char *) n) + sizeof(struct jffs2_raw_inode), (uLongf) je32_to_cpu(n->csize)); break; - +#endif case JFFS2_COMPR_NONE: memcpy(b + je32_to_cpu(n->offset), ((char *) n) + sizeof(struct jffs2_raw_inode), dlen); -- cgit v1.2.3