Blob Blame History Raw
diff -urp coreutils-6.10-orig/src/echo.c coreutils-6.10/src/echo.c
--- coreutils-6.10-orig/src/echo.c	2007-11-25 14:23:31.000000000 +0100
+++ coreutils-6.10/src/echo.c	2008-01-31 14:01:52.000000000 +0100
@@ -163,6 +163,10 @@ main (int argc, char **argv)
 	    {
 	    case 'e': case 'E': case 'n':
 	      break;
+     case '-':
+      /* end of short options(allows to print -n,-e or -E) */
+      argc--;
+      argv++; 
 	    default:
 	      goto just_echo;
 	    }
diff -urp coreutils-6.10-orig/lib/long-options.c coreutils-6.10/lib/long-options.c
--- coreutils-6.10-orig/lib/long-options.c	2007-10-17 15:47:26.000000000 +0200
+++ coreutils-6.10/lib/long-options.c	2008-01-31 14:28:01.000000000 +0100
@@ -57,8 +57,7 @@ parse_long_options (int argc,
   /* Don't print an error message for unrecognized options.  */
   opterr = 0;
 
-  if (argc == 2
-      && (c = getopt_long (argc, argv, "+", long_options, NULL)) != -1)
+  while ((c = getopt_long (argc, argv, "+", long_options, NULL)) != -1)
     {
       switch (c)
 	{