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>

Attachment: pgpPuRfKpifLq.pgp
Description: PGP signature

Reply via email to