hush: if we did match "LINENO" or "OPTIND", stop further comparisons
[oweals/busybox.git] / coreutils / uuencode.c
index fe9e8c6646b9d3193119cc710915f11aa51a32c4..aa53b14a64fb10421f3ae6b001a4c79663bdd2f0 100644 (file)
@@ -1,12 +1,34 @@
 /* vi: set sw=4 ts=4: */
 /*
- *  Copyright (C) 2000 by Glenn McGrath
+ * Copyright (C) 2000 by Glenn McGrath
  *
- *  based on the function base64_encode from http.c in wget v1.6
- *  Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+ * based on the function base64_encode from http.c in wget v1.6
+ * Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
  *
  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config UUENCODE
+//config:      bool "uuencode (4.6 kb)"
+//config:      default y
+//config:      help
+//config:      uuencode is used to uuencode a file.
+
+//applet:IF_UUENCODE(APPLET(uuencode, BB_DIR_USR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_UUENCODE) += uuencode.o
+
+//usage:#define uuencode_trivial_usage
+//usage:       "[-m] [FILE] STORED_FILENAME"
+//usage:#define uuencode_full_usage "\n\n"
+//usage:       "Uuencode FILE (or stdin) to stdout\n"
+//usage:     "\n       -m      Use base64 encoding per RFC1521"
+//usage:
+//usage:#define uuencode_example_usage
+//usage:       "$ uuencode busybox busybox\n"
+//usage:       "begin 755 busybox\n"
+//usage:       "<encoded file snipped>\n"
+//usage:       "$ uudecode busybox busybox > busybox.uu\n"
+//usage:       "$\n"
 
 #include "libbb.h"
 
@@ -27,8 +49,7 @@ int uuencode_main(int argc UNUSED_PARAM, char **argv)
 
        tbl = bb_uuenc_tbl_std;
        mode = 0666 & ~umask(0666);
-       opt_complementary = "-1:?2"; /* must have 1 or 2 args */
-       if (getopt32(argv, "m")) {
+       if (getopt32(argv, "^" "m" "\0" "-1:?2"/*must have 1 or 2 args*/)) {
                tbl = bb_uuenc_tbl_base64;
        }
        argv += optind;