Author: delphij
Date: Tue Dec 14 20:35:08 2010
New Revision: 216447
URL: http://svn.freebsd.org/changeset/base/216447

Log:
  Revert r216423 per request from Jilles.
  
  The new behavior prevents us from being able to bail out explicitly
  on unknown options that we have not implemented.  BASH for instance
  have introduced a '-v' for printf(1) builtin and it seems to be bad
  to pretend that we supported it and have a script break silently.

Modified:
  head/usr.bin/printf/printf.c

Modified: head/usr.bin/printf/printf.c
==============================================================================
--- head/usr.bin/printf/printf.c        Tue Dec 14 20:19:41 2010        
(r216446)
+++ head/usr.bin/printf/printf.c        Tue Dec 14 20:35:08 2010        
(r216447)
@@ -101,7 +101,7 @@ int
 main(int argc, char *argv[])
 {
        size_t len;
-       int chopped, end, rval;
+       int ch, chopped, end, rval;
        char *format, *fmt, *start;
 
 #ifndef SHELL
@@ -110,15 +110,15 @@ main(int argc, char *argv[])
 #ifdef SHELL
        optreset = 1; optind = 1; opterr = 0; /* initialize getopt */
 #endif
-       /* Skip argv[0] which is the process name */
-       argv++;
-       argc--;
-
-       /* Need to accept/ignore "--" option. */
-       if (argc >= 1 && strcmp(*argv, "--") == 0) {
-               argc--;
-               argv++;
-       }
+       while ((ch = getopt(argc, argv, "")) != -1)
+               switch (ch) {
+               case '?':
+               default:
+                       usage();
+                       return (1);
+               }
+       argc -= optind;
+       argv += optind;
 
        if (argc < 1) {
                usage();
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to