emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#14115: closed ([PATCH] echo: adding support for '-


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#14115: closed ([PATCH] echo: adding support for '--' in option parsing)
Date: Mon, 01 Apr 2013 15:36:02 +0000

Your message dated Mon, 01 Apr 2013 09:32:19 -0600
with message-id <address@hidden>
and subject line Re: bug#14115: [PATCH] echo: adding support for '--' in option 
parsing
has caused the debbugs.gnu.org bug report #14115,
regarding [PATCH] echo: adding support for '--' in option parsing
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
14115: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14115
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [PATCH] echo: adding support for '--' in option parsing Date: Mon, 1 Apr 2013 12:49:52 +0300
A '--' can now be used to mark the end of echo's options that should be
parsed. This makes it possible to e.g. print lines where the first
argument matches some of echo's options (e.g. 'echo -- -e').
---
 src/echo.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/echo.c b/src/echo.c
index 58e6975..6f76d1b 100644
--- a/src/echo.c
+++ b/src/echo.c
@@ -39,7 +39,7 @@ usage (int status)
   else
     {
       printf (_("\
-Usage: %s [SHORT-OPTION]... [STRING]...\n\
+Usage: %s [SHORT-OPTION]... [--] [STRING]...\n\
   or:  %s LONG-OPTION\n\
 "), program_name, program_name);
       fputs (_("\
@@ -59,6 +59,8 @@ Echo the STRING(s) to standard output.\n\
       fputs (VERSION_OPTION_DESCRIPTION, stdout);
       fputs (_("\
 \n\
+A '--' can be used to mark the end of SHORT-OPTIONs.\n\
+\n\
 If -e is in effect, the following sequences are recognized:\n\
 \n\
 "), stdout);
@@ -149,6 +151,12 @@ main (int argc, char **argv)
         char const *temp = argv[0] + 1;
         size_t i;
 
+        if (temp[0] == '-' && temp[1] == '\0') {
+          argc--;
+          argv++;
+          goto just_echo;
+        }
+
         /* If it appears that we are handling options, then make sure that
            all of the options specified are actually valid.  Otherwise, the
            string should just be echoed.  */
-- 
1.8.2




--- End Message ---
--- Begin Message --- Subject: Re: bug#14115: [PATCH] echo: adding support for '--' in option parsing Date: Mon, 01 Apr 2013 09:32:19 -0600 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4
tag 14115 notabug wontfix
thanks

On 04/01/2013 03:49 AM, Hemmo Nieminen wrote:
> A '--' can now be used to mark the end of echo's options that should be
> parsed. This makes it possible to e.g. print lines where the first
> argument matches some of echo's options (e.g. 'echo -- -e').

Sorry, such behavior would violate POSIX, which special-cases 'echo' as
one of the few utilities that MUST NOT interpret '--' specially.  You
would end up breaking existing scripts that rely on POSIX semantics.
POSIX already admits that options to 'echo' are not portable, and that
you are better off using printf(1) if then thing you need to output
something that starts with a '-'.

I'm closing this bug as rejected, since we will not be applying the
patch; but you are free to continue discussing the issue.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]