aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2024-02-18 13:52:42 +0100
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2024-02-18 13:54:59 +0100
commit3f73bfb3e09c407425245aa5f62477fd572328c9 (patch)
tree7f2b7088c24d7029de19ac253432dca11ad3c458
parentab4628e756ab73d8193ed62b591417dad561b298 (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.am2
-rw-r--r--jffsX-utils/compr.c4
-rw-r--r--jffsX-utils/compr.h3
-rw-r--r--jffsX-utils/jffs2reader.c7
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);