Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/distrib/news68k/floppies/ramdisk
In article <20198.1080375229%splode.eterna.com.au@localhost>
mrg%eterna.com.au@localhost wrote:
> x_gzip is basically an old version of usr.bin/gzip. ideally the latter
> can be updated to remove more features with -DSMALL and x_gzip has no
> sources in it... things i can see off hand:
I tried a quick patch which disables bzip2 and compress support by
-DNO_BZIP2_SUPPORT and -DNO_COMPRESS_SUPPORT:
---
% ls -lS gzip*
-rwxr-xr-x 1 100 100 218791 Mar 27 19:55 gzip-static
-rwxr-xr-x 1 100 100 214652 Mar 27 19:55 gzip-static_without_compress
-rwxr-xr-x 1 100 100 168745 Mar 27 19:55 gzip-static_without_bzip2
-rwxr-xr-x 1 100 100 164478 Mar 27 19:56 gzip-static_without_bzip2_compress
---
Current distrib/utils/x_gzip is:
---
-rwxr-xr-x 1 100 100 145758 Mar 27 20:08 x_gzip-static
---
Is this difference worth? Now distrib/utils/x_gzip should only have
Makefile with some CPPFLAGS which disables unneeded features?
---
Izumi Tsutsui
tsutsui%ceres.dti.ne.jp@localhost
Index: gzip.c
===================================================================
RCS file: /cvsroot/src/usr.bin/gzip/gzip.c,v
retrieving revision 1.22
diff -u -r1.22 gzip.c
--- gzip.c 18 Feb 2004 08:19:48 -0000 1.22
+++ gzip.c 27 Mar 2004 10:53:54 -0000
@@ -67,20 +67,28 @@
/* what type of file are we dealing with */
enum filetype {
FT_GZIP,
+#ifndef NO_BZIP2_SUPPORT
FT_BZIP2,
+#endif
+#ifndef NO_COMPRESS_SUPPORT
FT_Z,
+#endif
FT_LAST,
FT_UNKNOWN
};
+#ifndef NO_BZIP2_SUPPORT
#define BZ_NO_STDIO
#include <bzlib.h>
-#define Z_SUFFIX ".Z"
-#define Z_MAGIC "\037\235"
-
#define BZ2_SUFFIX ".bz2"
#define BZIP2_MAGIC "\102\132\150"
+#endif
+
+#ifndef NO_COMPRESS_SUPPORT
+#define Z_SUFFIX ".Z"
+#define Z_MAGIC "\037\235"
+#endif
#define GZ_SUFFIX ".gz"
@@ -138,9 +146,13 @@
static void print_list(int fd, off_t, const char *, time_t);
static void usage(void);
static void display_version(void);
+#ifndef NO_BZIP2_SUPPORT
static off_t unbzip2(int, int);
+#endif
+#ifndef NO_COMPRESS_SUPPORT
static FILE *zopen(const char *);
static off_t zuncompress(FILE *, FILE *);
+#endif
int main(int, char *p[]);
@@ -614,16 +626,22 @@
if (header1[0] == GZIP_MAGIC0 &&
(header1[1] == GZIP_MAGIC1 || header1[1] == GZIP_OMAGIC1))
method = FT_GZIP;
- else if (memcmp(header1, BZIP2_MAGIC, 3) == 0 &&
+ else
+#ifndef NO_BZIP2_SUPPORT
+ if (memcmp(header1, BZIP2_MAGIC, 3) == 0 &&
header1[3] >= '0' && header1[3] <= '9') {
if (Sflag == NULL)
suffix = BZ2_SUFFIX;
method = FT_BZIP2;
- } else if (memcmp(header1, Z_MAGIC, 2) == 0) {
+ } else
+#endif
+#ifndef NO_COMPRESS_SUPPORT
+ if (memcmp(header1, Z_MAGIC, 2) == 0) {
if (Sflag == NULL)
suffix = Z_SUFFIX;
method = FT_Z;
} else
+#endif
method = FT_UNKNOWN;
if (fflag == 0 && method == FT_UNKNOWN)
@@ -680,6 +698,7 @@
goto lose;
}
+#ifndef NO_BZIP2_SUPPORT
if (method == FT_BZIP2) {
int in, out;
@@ -696,7 +715,10 @@
unlink(outfile);
goto lose;
}
- } else if (method == FT_Z) {
+ } else
+#endif
+#ifndef NO_COMPRESS_SUPPORT
+ if (method == FT_Z) {
FILE *in, *out;
int fd;
@@ -729,7 +751,9 @@
maybe_err(1, "failed outfile close");
}
- } else {
+ } else
+#endif
+ {
if (lflag) {
int fd;
@@ -1089,5 +1113,9 @@
exit(0);
}
+#ifndef NO_BZIP2_SUPPORT
#include "unbzip2.c"
+#endif
+#ifndef NO_COMPRESS_SUPPORT
#include "zuncompress.c"
+#endif
Home |
Main Index |
Thread Index |
Old Index