Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F102684085
D34047.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
15 KB
Referenced Files
None
Subscribers
None
D34047.diff
View Options
diff --git a/usr.bin/gzip/gzip.c b/usr.bin/gzip/gzip.c
--- a/usr.bin/gzip/gzip.c
+++ b/usr.bin/gzip/gzip.c
@@ -144,7 +144,6 @@
static suffixes_t suffixes[] = {
#define SUFFIX(Z, N) {Z, sizeof Z - 1, N}
SUFFIX(GZ_SUFFIX, ""), /* Overwritten by -S .xxx */
-#ifndef SMALL
SUFFIX(GZ_SUFFIX, ""),
SUFFIX(".z", ""),
SUFFIX("-gz", ""),
@@ -167,7 +166,6 @@
SUFFIX(LZ_SUFFIX, ""),
#endif
SUFFIX(GZ_SUFFIX, ""), /* Overwritten by -S "" */
-#endif /* SMALL */
#undef SUFFIX
};
#define NUM_SUFFIXES (nitems(suffixes))
@@ -175,7 +173,6 @@
static const char gzip_version[] = "FreeBSD gzip 20190107";
-#ifndef SMALL
static const char gzip_copyright[] = \
" Copyright (c) 1997, 1998, 2003, 2004, 2006 Matthew R. Green\n"
" All rights reserved.\n"
@@ -200,7 +197,6 @@
" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
" SUCH DAMAGE.";
-#endif
static int cflag; /* stdout mode */
static int dflag; /* decompress mode */
@@ -210,7 +206,6 @@
static const char *remove_file = NULL; /* file to be removed upon SIGINT */
static int fflag; /* force mode */
-#ifndef SMALL
static int kflag; /* don't delete input files */
static int nflag; /* don't save name/timestamp */
static int Nflag; /* don't restore name/timestamp */
@@ -219,10 +214,6 @@
static int tflag; /* test */
static int vflag; /* verbose mode */
static sig_atomic_t print_info = 0;
-#else
-#define qflag 0
-#define tflag 0
-#endif
static int exit_value = 0; /* exit value */
@@ -236,9 +227,6 @@
static void maybe_warn(const char *fmt, ...) __printflike(1, 2);
static void maybe_warnx(const char *fmt, ...) __printflike(1, 2);
static enum filetype file_gettype(u_char *);
-#ifdef SMALL
-#define gz_compress(if, of, sz, fn, tm) gz_compress(if, of, sz)
-#endif
static off_t gz_compress(int, int, off_t *, const char *, uint32_t);
static off_t gz_uncompress(int, int, char *, size_t, off_t *, const char *);
static off_t file_compress(char *, char *, size_t);
@@ -251,25 +239,14 @@
static void print_list(int fd, off_t, const char *, time_t);
static void usage(void) __dead2;
static void display_version(void) __dead2;
-#ifndef SMALL
static void display_license(void);
-#endif
static const suffixes_t *check_suffix(char *, int);
static ssize_t read_retry(int, void *, size_t);
static ssize_t write_retry(int, const void *, size_t);
static void print_list_out(off_t, off_t, const char*);
-#ifdef SMALL
-#define infile_set(f,t) infile_set(f)
-#endif
static void infile_set(const char *newinfile, off_t total);
-#ifdef SMALL
-#define unlink_input(f, sb) unlink(f)
-#define check_siginfo() /* nothing */
-#define setup_signals() /* nothing */
-#define infile_newdata(t) /* nothing */
-#else
static off_t infile_total; /* total expected to read/write */
static off_t infile_current; /* current read/write */
@@ -284,7 +261,6 @@
static void setup_signals(void);
static void infile_newdata(size_t newdata);
static void infile_clear(void);
-#endif
#ifndef NO_BZIP2_SUPPORT
static off_t unbzip2(int, int, char *, size_t, off_t *);
@@ -308,9 +284,6 @@
static off_t unlz(int, int, char *, size_t, off_t *);
#endif
-#ifdef SMALL
-#define getopt_long(a,b,c,d,e) getopt(a,b,c)
-#else
static const struct option longopts[] = {
{ "stdout", no_argument, 0, 'c' },
{ "to-stdout", no_argument, 0, 'c' },
@@ -334,24 +307,19 @@
{ "license", no_argument, 0, 'L' },
{ NULL, no_argument, 0, 0 },
};
-#endif
int
main(int argc, char **argv)
{
const char *progname = getprogname();
-#ifndef SMALL
char *gzip;
int len;
-#endif
int ch;
setup_signals();
-#ifndef SMALL
if ((gzip = getenv("GZIP")) != NULL)
prepend_gzip(gzip, &argc, &argv);
-#endif
/*
* XXX
@@ -363,11 +331,7 @@
strcmp(progname, "gzcat") == 0)
dflag = cflag = 1;
-#ifdef SMALL
-#define OPT_LIST "123456789cdhlV"
-#else
#define OPT_LIST "123456789acdfhklLNnqrS:tVv"
-#endif
while ((ch = getopt_long(argc, argv, OPT_LIST, longopts, NULL)) != -1) {
switch (ch) {
@@ -389,7 +353,6 @@
case 'V':
display_version();
/* NOTREACHED */
-#ifndef SMALL
case 'a':
fprintf(stderr, "%s: option --ascii ignored on this system\n", progname);
break;
@@ -436,7 +399,6 @@
case 'v':
vflag = 1;
break;
-#endif
default:
usage();
/* NOTREACHED */
@@ -455,10 +417,8 @@
handle_pathname(argv[0]);
} while (*++argv);
}
-#ifndef SMALL
if (qflag == 0 && lflag && argc > 1)
print_list(-1, 0, "(totals)", 0);
-#endif
exit(exit_value);
}
@@ -523,7 +483,6 @@
}
#endif
-#ifndef SMALL
/* split up $GZIP and prepend it to the argument list */
static void
prepend_gzip(char *gzip, int *argc, char ***argv)
@@ -587,7 +546,6 @@
nargv[i++] = *(ac++);
nargv[i] = NULL;
}
-#endif
/* compress input to output. Return bytes read, -1 on error */
static off_t
@@ -599,11 +557,6 @@
ssize_t in_size;
int i, error;
uLong crc;
-#ifdef SMALL
- static char header[] = { GZIP_MAGIC0, GZIP_MAGIC1, Z_DEFLATED, 0,
- 0, 0, 0, 0,
- 0, OS_CODE };
-#endif
outbufp = malloc(BUFLEN);
inbufp = malloc(BUFLEN);
@@ -617,10 +570,6 @@
z.zfree = Z_NULL;
z.opaque = 0;
-#ifdef SMALL
- memcpy(outbufp, header, sizeof header);
- i = sizeof header;
-#else
if (nflag != 0) {
mtime = 0;
origname = "";
@@ -640,7 +589,6 @@
maybe_err("snprintf");
if (*origname)
i++;
-#endif
z.next_out = (unsigned char *)outbufp + i;
z.avail_out = BUFLEN - i;
@@ -1000,10 +948,8 @@
if (wr != 0) {
crc = crc32(crc, (const Bytef *)outbufp, (unsigned)wr);
if (
-#ifndef SMALL
/* don't write anything with -t */
tflag == 0 &&
-#endif
write_retry(out, outbufp, wr) != wr) {
maybe_warn("error writing to output");
goto stop_and_fail;
@@ -1099,7 +1045,6 @@
return (out_tot);
}
-#ifndef SMALL
/*
* set the owner, mode, flags & utimes using the given file descriptor.
* file is only used in possible warning messages.
@@ -1144,7 +1089,6 @@
if (sb.st_flags != 0 && fchflags(fd, sb.st_flags) < 0)
maybe_warn("couldn't fchflags: %s", file);
}
-#endif
/* what sort of file is this? */
static enum filetype
@@ -1184,7 +1128,6 @@
return FT_UNKNOWN;
}
-#ifndef SMALL
/* check the outfile is OK. */
static int
check_outfile(const char *outfile)
@@ -1260,7 +1203,6 @@
infile_current += newdata;
}
-#endif
static void
infile_set(const char *newinfile, off_t total)
@@ -1268,9 +1210,7 @@
if (newinfile)
infile = newinfile;
-#ifndef SMALL
infile_total = total;
-#endif
}
static void
@@ -1278,9 +1218,7 @@
{
infile = NULL;
-#ifndef SMALL
infile_total = infile_current = 0;
-#endif
}
static const suffixes_t *
@@ -1314,10 +1252,8 @@
int in;
int out;
off_t size, in_size;
-#ifndef SMALL
struct stat isb, osb;
const suffixes_t *suff;
-#endif
in = open(file, O_RDONLY);
if (in == -1) {
@@ -1325,25 +1261,20 @@
return (-1);
}
-#ifndef SMALL
if (fstat(in, &isb) != 0) {
maybe_warn("couldn't stat: %s", file);
close(in);
return (-1);
}
-#endif
-#ifndef SMALL
if (fstat(in, &isb) != 0) {
close(in);
maybe_warn("can't stat %s", file);
return -1;
}
infile_set(file, isb.st_size);
-#endif
if (cflag == 0) {
-#ifndef SMALL
if (isb.st_nlink > 1 && fflag == 0) {
maybe_warnx("%s has %ju other link%s -- "
"skipping", file,
@@ -1360,7 +1291,6 @@
close(in);
return (-1);
}
-#endif
/* Add (usually) .gz to filename */
if ((size_t)snprintf(outfile, outsize, "%s%s",
@@ -1368,12 +1298,10 @@
memcpy(outfile + outsize - suffixes[0].ziplen - 1,
suffixes[0].zipped, suffixes[0].ziplen + 1);
-#ifndef SMALL
if (check_outfile(outfile) == 0) {
close(in);
return (-1);
}
-#endif
}
if (cflag == 0) {
@@ -1383,9 +1311,7 @@
fclose(stdin);
return (-1);
}
-#ifndef SMALL
remove_file = outfile;
-#endif
} else
out = STDOUT_FILENO;
@@ -1403,7 +1329,6 @@
if (cflag != 0)
return in_size == -1 ? -1 : size;
-#ifndef SMALL
if (fstat(out, &osb) != 0) {
maybe_warn("couldn't stat: %s", outfile);
goto bad_outfile;
@@ -1417,7 +1342,6 @@
copymodes(out, &isb, outfile);
remove_file = NULL;
-#endif
if (close(out) == -1)
maybe_warn("couldn't close output");
@@ -1425,7 +1349,6 @@
unlink_input(file, &isb);
return (size);
-#ifndef SMALL
bad_outfile:
if (close(out) == -1)
maybe_warn("couldn't close output");
@@ -1433,7 +1356,6 @@
maybe_warnx("leaving original %s", file);
unlink(outfile);
return (size);
-#endif
}
/* uncompress the given file and remove the original */
@@ -1448,11 +1370,9 @@
int fd, ofd, zfd = -1;
int error;
size_t in_size;
-#ifndef SMALL
ssize_t rv;
time_t timestamp = 0;
char name[PATH_MAX + 1];
-#endif
/* gather the old name info */
@@ -1480,10 +1400,8 @@
rbytes = read(fd, fourbytes, sizeof fourbytes);
if (rbytes != sizeof fourbytes) {
/* we don't want to fail here. */
-#ifndef SMALL
if (fflag)
goto lose;
-#endif
if (rbytes == -1)
maybe_warn("can't read %s", file);
else
@@ -1493,15 +1411,12 @@
infile_newdata(rbytes);
method = file_gettype(fourbytes);
-#ifndef SMALL
if (fflag == 0 && method == FT_UNKNOWN) {
maybe_warnx("%s: not in gzip format", file);
goto lose;
}
-#endif
-#ifndef SMALL
if (method == FT_GZIP && Nflag) {
unsigned char ts[4]; /* timestamp */
@@ -1547,11 +1462,9 @@
}
}
}
-#endif
lseek(fd, 0, SEEK_SET);
if (cflag == 0 || lflag) {
-#ifndef SMALL
if (isb.st_nlink > 1 && lflag == 0 && fflag == 0) {
maybe_warnx("%s has %ju other links -- skipping",
file, (uintmax_t)isb.st_nlink - 1);
@@ -1561,7 +1474,6 @@
isb.st_mtime = timestamp;
if (check_outfile(outfile) == 0)
goto lose;
-#endif
}
if (cflag)
@@ -1674,7 +1586,6 @@
size = unlz(fd, zfd, NULL, 0, NULL);
break;
#endif
-#ifndef SMALL
case FT_UNKNOWN:
if (lflag) {
maybe_warnx("no -l for unknown filetypes");
@@ -1682,7 +1593,6 @@
}
size = cat_fd(NULL, 0, NULL, fd);
break;
-#endif
default:
if (lflag) {
print_list(fd, in_size, outfile, isb.st_mtime);
@@ -1709,10 +1619,8 @@
}
/* if testing, or we uncompressed to stdout, this is all we need */
-#ifndef SMALL
if (tflag)
return size;
-#endif
/* if we are uncompressing to stdin, don't remove the file. */
if (cflag)
return size;
@@ -1743,10 +1651,8 @@
unlink(outfile);
return -1;
}
-#ifndef SMALL
copymodes(ofd, &isb, outfile);
remove_file = NULL;
-#endif
close(ofd);
unlink_input(file, &isb);
return size;
@@ -1761,7 +1667,6 @@
return -1;
}
-#ifndef SMALL
static void
check_siginfo(void)
{
@@ -1817,7 +1722,6 @@
*gsizep = in_tot;
return (in_tot);
}
-#endif
static void
handle_stdin(void)
@@ -1832,12 +1736,10 @@
FILE *in;
#endif
-#ifndef SMALL
if (fflag == 0 && lflag == 0 && isatty(STDIN_FILENO)) {
maybe_warnx("standard input is a terminal -- ignoring");
goto out;
}
-#endif
if (fstat(STDIN_FILENO, &isb) < 0) {
maybe_warn("fstat");
@@ -1866,14 +1768,12 @@
method = file_gettype(fourbytes);
switch (method) {
default:
-#ifndef SMALL
if (fflag == 0) {
maybe_warnx("unknown compression format");
goto out;
}
usize = cat_fd(fourbytes, sizeof fourbytes, &gsize, STDIN_FILENO);
break;
-#endif
case FT_GZIP:
usize = gz_uncompress(STDIN_FILENO, STDOUT_FILENO,
(char *)fourbytes, sizeof fourbytes, &gsize, "(stdin)");
@@ -1916,14 +1816,10 @@
#endif
}
-#ifndef SMALL
if (vflag && !tflag && usize != -1 && gsize != -1)
print_verbage(NULL, NULL, usize, gsize);
if (vflag && tflag)
print_test("(stdin)", usize != -1);
-#else
- (void)&usize;
-#endif
out:
infile_clear();
@@ -1933,7 +1829,6 @@
handle_stdout(void)
{
off_t gsize;
-#ifndef SMALL
off_t usize;
struct stat sb;
time_t systime;
@@ -1967,12 +1862,9 @@
}
usize =
-#endif
gz_compress(STDIN_FILENO, STDOUT_FILENO, &gsize, "", mtime);
-#ifndef SMALL
if (vflag && !tflag && usize != -1 && gsize != -1)
print_verbage(NULL, NULL, usize, gsize);
-#endif
}
/* do what is asked for, for the path name */
@@ -2013,11 +1905,9 @@
}
if (S_ISDIR(sb.st_mode)) {
-#ifndef SMALL
if (rflag)
handle_dir(path);
else
-#endif
maybe_warnx("%s is a directory", path);
goto out;
}
@@ -2042,10 +1932,8 @@
infile_set(file, sbp->st_size);
if (dflag) {
usize = file_uncompress(file, outfile, sizeof(outfile));
-#ifndef SMALL
if (vflag && tflag)
print_test(file, usize != -1);
-#endif
if (usize == -1)
return;
gsize = sbp->st_size;
@@ -2057,13 +1945,10 @@
}
infile_clear();
-#ifndef SMALL
if (vflag && !tflag)
print_verbage(file, (cflag) ? NULL : outfile, usize, gsize);
-#endif
}
-#ifndef SMALL
/* this is used with -r to recursively descend directories */
static void
handle_dir(char *dir)
@@ -2099,7 +1984,6 @@
warn("error with fts_read %s", dir);
(void)fts_close(fts);
}
-#endif
/* print a ratio - size reduction as a fraction of uncompressed size */
static void
@@ -2141,7 +2025,6 @@
fprintf(where, "%5s%%", buff);
}
-#ifndef SMALL
/* print compression statistics, and the new name (if there is one!) */
static void
print_verbage(const char *file, const char *nfile, off_t usize, off_t gsize)
@@ -2167,7 +2050,6 @@
strlen(file) < 7 ? "\t\t" : "\t", ok ? "OK" : "NOT OK");
fflush(stderr);
}
-#endif
/* print a file's info ala --list */
/* eg:
@@ -2178,17 +2060,13 @@
print_list(int fd, off_t out, const char *outfile, time_t ts)
{
static int first = 1;
-#ifndef SMALL
static off_t in_tot, out_tot;
uint32_t crc = 0;
-#endif
off_t in = 0, rv;
if (first) {
-#ifndef SMALL
if (vflag)
printf("method crc date time ");
-#endif
if (qflag == 0)
printf(" compressed uncompressed "
"ratio uncompressed_name\n");
@@ -2196,12 +2074,10 @@
first = 0;
/* print totals? */
-#ifndef SMALL
if (fd == -1) {
in = in_tot;
out = out_tot;
} else
-#endif
{
/* read the last 4 bytes - this is the uncompressed size */
rv = lseek(fd, (off_t)(-8), SEEK_END);
@@ -2218,14 +2094,11 @@
else {
usize = le32dec(&buf[4]);
in = (off_t)usize;
-#ifndef SMALL
crc = le32dec(&buf[0]);
-#endif
}
}
}
-#ifndef SMALL
if (vflag && fd == -1)
printf(" ");
else if (vflag) {
@@ -2238,9 +2111,6 @@
}
in_tot += in;
out_tot += out;
-#else
- (void)&ts; /* XXX */
-#endif
print_list_out(out, in, outfile);
}
@@ -2259,9 +2129,6 @@
fprintf(stderr, "%s\n", gzip_version);
fprintf(stderr,
-#ifdef SMALL
- "usage: %s [-" OPT_LIST "] [<file> [<file> ...]]\n",
-#else
"usage: %s [-123456789acdfhklLNnqrtVv] [-S .suffix] [<file> [<file> ...]]\n"
" -1 --fast fastest (worst) compression\n"
" -2 .. -8 set compression level\n"
@@ -2283,12 +2150,10 @@
" -t --test test compressed file\n"
" -V --version display program version\n"
" -v --verbose print extra statistics\n",
-#endif
getprogname());
exit(0);
}
-#ifndef SMALL
/* display the license information of FreeBSD gzip */
static void
display_license(void)
@@ -2298,7 +2163,6 @@
fprintf(stderr, "%s\n", gzip_copyright);
exit(0);
}
-#endif
/* display the version of NetBSD gzip */
static void
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Nov 16, 8:13 PM (21 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14663899
Default Alt Text
D34047.diff (15 KB)
Attached To
Mode
D34047: Remove SMALL conditionals from gzip
Attached
Detach File
Event Timeline
Log In to Comment