an enum specifier is more elegant than a set of #defines;
authorsobrado <sobrado@openbsd.org>
Tue, 29 Jul 2008 18:25:28 +0000 (18:25 +0000)
committersobrado <sobrado@openbsd.org>
Tue, 29 Jul 2008 18:25:28 +0000 (18:25 +0000)
storing the program mode variable (pmode) as a global let us have
a more consistent prototype for usage().

changes suggested by pyr@.

ok millert@, pyr@

usr.bin/uudecode/uudecode.c
usr.bin/uuencode/uuencode.c

index cbe70ad..afb7177 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: uudecode.c,v 1.15 2008/07/05 20:59:42 sobrado Exp $   */
+/*     $OpenBSD: uudecode.c,v 1.16 2008/07/29 18:25:28 sobrado Exp $   */
 /*     $FreeBSD: uudecode.c,v 1.49 2003/05/03 19:44:46 obrien Exp $    */
 
 /*-
@@ -40,7 +40,7 @@ static const char copyright[] =
 #if 0
 static const char sccsid[] = "@(#)uudecode.c   8.2 (Berkeley) 4/2/94";
 #endif
-static const char rcsid[] = "$OpenBSD: uudecode.c,v 1.15 2008/07/05 20:59:42 sobrado Exp $";
+static const char rcsid[] = "$OpenBSD: uudecode.c,v 1.16 2008/07/29 18:25:28 sobrado Exp $";
 #endif /* not lint */
 
 /*
@@ -69,41 +69,39 @@ static const char *infile, *outfile;
 static FILE *infp, *outfp;
 static int base64, cflag, iflag, oflag, pflag, rflag, sflag;
 
-static void    usage(int);
+static void    usage(void);
 static int     decode(void);
 static int     decode2(void);
 static int     uu_decode(void);
 static int     base64_decode(void);
 
-/*
- * program modes
- */
-#define MODE_DECODE    0
-#define MODE_B64DECODE 1
+enum program_mode {
+       MODE_DECODE,
+       MODE_B64DECODE
+} pmode;
 
 int
 main(int argc, char *argv[])
 {
-       int rval, ch, mode;
+       int rval, ch;
        extern char *__progname;
        static const char *optstr[2] = {
                "cimo:prs",
                "cio:prs"
        };
 
-       mode = 0;
-
+       pmode = MODE_DECODE;
        if (strcmp(__progname, "b64decode") == 0) {
                base64 = 1;
-               mode = MODE_B64DECODE;
+               pmode = MODE_B64DECODE;
        }
 
        setlocale(LC_ALL, "");
-       while ((ch = getopt(argc, argv, optstr[mode])) != -1) {
+       while ((ch = getopt(argc, argv, optstr[pmode])) != -1) {
                switch(ch) {
                case 'c':
                        if (oflag || rflag)
-                               usage(mode);
+                               usage();
                        cflag = 1; /* multiple uudecode'd files */
                        break;
                case 'i':
@@ -114,28 +112,28 @@ main(int argc, char *argv[])
                        break;
                case 'o':
                        if (cflag || pflag || rflag || sflag)
-                               usage(mode);
+                               usage();
                        oflag = 1; /* output to the specified file */
                        sflag = 1; /* do not strip pathnames for output */
                        outfile = optarg; /* set the output filename */
                        break;
                case 'p':
                        if (oflag)
-                               usage(mode);
+                               usage();
                        pflag = 1; /* print output to stdout */
                        break;
                case 'r':
                        if (cflag || oflag)
-                               usage(mode);
+                               usage();
                        rflag = 1; /* decode raw data */
                        break;
                case 's':
                        if (oflag)
-                               usage(mode);
+                               usage();
                        sflag = 1; /* do not strip pathnames for output */
                        break;
                default:
-                       usage(mode);
+                       usage();
                }
        }
        argc -= optind;
@@ -450,9 +448,9 @@ base64_decode(void)
 }
 
 static void
-usage(int mode)
+usage(void)
 {
-       switch (mode) {
+       switch (pmode) {
        case MODE_DECODE:
                (void)fprintf(stderr,
                    "usage: uudecode [-cimprs] [file ...]\n"
index 414c9db..2898558 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: uuencode.c,v 1.8 2008/07/05 20:59:42 sobrado Exp $    */
+/*     $OpenBSD: uuencode.c,v 1.9 2008/07/29 18:25:28 sobrado Exp $    */
 /*     $FreeBSD: uuencode.c,v 1.18 2004/01/22 07:23:35 grehan Exp $    */
 
 /*-
@@ -40,7 +40,7 @@ static const char copyright[] =
 #if 0
 static const char sccsid[] = "@(#)uuencode.c   8.2 (Berkeley) 4/2/94";
 #endif
-static const char rcsid[] = "$OpenBSD: uuencode.c,v 1.8 2008/07/05 20:59:42 sobrado Exp $";
+static const char rcsid[] = "$OpenBSD: uuencode.c,v 1.9 2008/07/29 18:25:28 sobrado Exp $";
 #endif /* not lint */
 
 /*
@@ -63,23 +63,22 @@ static const char rcsid[] = "$OpenBSD: uuencode.c,v 1.8 2008/07/05 20:59:42 sobr
 
 void encode(void);
 void base64_encode(void);
-static void usage(int);
+static void usage(void);
 
 FILE *output;
 int mode;
 char **av;
 
-/*
- * program modes
- */
-#define MODE_ENCODE    0
-#define MODE_B64ENCODE 1
+enum program_mode {
+       MODE_ENCODE,
+       MODE_B64ENCODE
+} pmode;
 
 int
 main(int argc, char *argv[])
 {
        struct stat sb;
-       int base64, ch, mode;
+       int base64, ch;
        char *outfile;
        extern char *__progname;
        static const char *optstr[2] = {
@@ -87,16 +86,17 @@ main(int argc, char *argv[])
                "o:"
        };
 
-       base64 = mode = 0;
+       base64 = 0;
        outfile = NULL;
 
+       pmode = MODE_ENCODE;
        if (strcmp(__progname, "b64encode") == 0) {
                base64 = 1;
-               mode = MODE_B64ENCODE;
+               pmode = MODE_B64ENCODE;
        }
 
        setlocale(LC_ALL, "");
-       while ((ch = getopt(argc, argv, optstr[mode])) != -1) {
+       while ((ch = getopt(argc, argv, optstr[pmode])) != -1) {
                switch (ch) {
                case 'm':
                        base64 = 1;
@@ -106,7 +106,7 @@ main(int argc, char *argv[])
                        break;
                case '?':
                default:
-                       usage(mode);
+                       usage();
                }
        }
        argv += optind;
@@ -126,7 +126,7 @@ main(int argc, char *argv[])
                break;
        case 0:
        default:
-               usage(mode);
+               usage();
        }
 
        av = argv;
@@ -227,9 +227,9 @@ encode(void)
 }
 
 static void
-usage(int mode)
+usage(void)
 {
-       switch (mode) {
+       switch (pmode) {
        case MODE_ENCODE:
                (void)fprintf(stderr,
                    "usage: uuencode [-m] [-o output_file] [file] name\n");