diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2024-02-18 13:52:42 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2024-02-18 13:54:59 +0100 |
commit | 3f73bfb3e09c407425245aa5f62477fd572328c9 (patch) | |
tree | 7f2b7088c24d7029de19ac253432dca11ad3c458 | |
parent | ab4628e756ab73d8193ed62b591417dad561b298 (diff) |
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 <david.oberhollenzer@sigma-star.at>
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | jffsX-utils/compr.c | 4 | ||||
-rw-r--r-- | jffsX-utils/compr.h | 3 | ||||
-rw-r--r-- | 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 <stdint.h> #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 <sys/types.h> #include <sys/stat.h> #include <dirent.h> +#ifdef WITH_ZLIB #include <zlib.h> +#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); |