Hi Andrew, Debian bug #297701 [1] requested GNU-style long options for rzip; I believe the attached patch against CVS implements them correctly.
Thanks for your time, Alec Berryman [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=297701
Index: main.c =================================================================== RCS file: /cvsroot/rzip/main.c,v retrieving revision 1.17 diff -u -u -r1.17 main.c --- main.c 3 Dec 2004 11:28:32 -0000 1.17 +++ main.c 3 Jun 2005 00:54:22 -0000 @@ -25,17 +25,18 @@ printf("Copright (C) Andrew Tridgell 1998-2003\n\n"); printf("usage: rzip [options] <file...>\n"); printf(" Options:\n"); - printf(" -0 fastest (worst) compression\n"); - printf(" -6 default compression level\n"); - printf(" -9 slowest (best) compression\n"); - printf(" -d decompress\n"); - printf(" -o filename specify the output file name\n"); - printf(" -S suffix specify compressed suffix (default '.rz')\n"); - printf(" -f force overwrite of any existing files\n"); - printf(" -k keep existing files\n"); - printf(" -P show compression progress\n"); - printf(" -L level set compression level\n"); - printf(" -V show version\n"); + printf(" -0, --worst fastest (worst) compression\n"); + printf(" -6 default compression level\n"); + printf(" -9, --best slowest (best) compression\n"); + printf(" -d, --decompress decompress\n"); + printf(" -f, --force force overwrite of any existing files\n"); + printf(" -o, --output FILENAME specify the output file name\n"); + printf(" -k, --keep keep existing files\n"); + printf(" -L, --level LEVEL set compression level\n"); + printf(" -P, --progress show compression progress\n"); + printf(" -S, --suffix SUFFIX specify compressed suffix (default '.rz')\n"); + printf(" -v, --verbose increase verbosity\n"); + printf(" -V, --version show version\n"); #if 0 /* damn, this will be quite hard to do */ printf(" -t test compressed file integrity\n"); @@ -268,7 +269,25 @@ control.flags |= FLAG_DECOMPRESS; } - while ((c = getopt(argc, argv, "h0123456789dS:tVvkfPo:L:")) != -1) { + static struct option options[] = + { + { "level", required_argument, NULL, 'L' }, + { "decompress", no_argument, NULL, 'd' }, + { "suffix", required_argument, NULL, 'S' }, + { "output", required_argument, NULL, 'o' }, + { "force", no_argument, NULL, 'f' }, + { "keep", no_argument, NULL, 'k' }, + { "verbose", no_argument, NULL, 'v' }, + { "progress", no_argument, NULL, 'P' }, + { "version", no_argument, NULL, 'V' }, + { "best", no_argument, NULL, '9' }, + { "worst", no_argument, NULL, '0' }, + { "help", no_argument, NULL, 'h' } + }; + + while ((c = getopt_long(argc, argv, "h0123456789dS:tVvkfPo:L:", options, + NULL)) != -1) { + if (isdigit(c)) { control.compression_level = c - '0'; continue; Index: rzip.h =================================================================== RCS file: /cvsroot/rzip/rzip.h,v retrieving revision 1.17 diff -u -u -r1.17 rzip.h --- rzip.h 7 Oct 2003 22:08:28 -0000 1.17 +++ rzip.h 3 Jun 2005 00:54:22 -0000 @@ -33,6 +33,7 @@ #include <stdlib.h> #include <string.h> #include <netinet/in.h> +#include <getopt.h> #ifdef HAVE_STRING_H #include <string.h>
pgpPuRfKpifLq.pgp
Description: PGP signature