From vangyzen@trillian.vangyzen.net  Thu Jul 18 19:10:41 2002
Return-Path: <vangyzen@trillian.vangyzen.net>
Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id B1D3F37B400
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 18 Jul 2002 19:10:41 -0700 (PDT)
Received: from rewt.vangyzen.net (siren.adsl.duke.edu [152.16.64.215])
	by mx1.FreeBSD.org (Postfix) with ESMTP id F001243E3B
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 18 Jul 2002 19:10:36 -0700 (PDT)
	(envelope-from vangyzen@trillian.vangyzen.net)
Received: from trillian.vangyzen.net (trillian.vangyzen.net [192.168.1.3])
	by rewt.vangyzen.net (8.12.3/8.12.3) with ESMTP id g6J2Aam6006657
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 18 Jul 2002 22:10:36 -0400 (EDT)
	(envelope-from vangyzen@trillian.vangyzen.net)
Received: (from vangyzen@localhost)
	by trillian.vangyzen.net (8.12.5/8.12.5/Submit) id g6J2AZx8003921;
	Thu, 18 Jul 2002 22:10:35 -0400 (EDT)
	(envelope-from vangyzen)
Message-Id: <200207190210.g6J2AZx8003921@trillian.vangyzen.net>
Date: Thu, 18 Jul 2002 22:10:35 -0400 (EDT)
From: Eric van Gyzen <esv@vangyzen.net>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: sh(1) does not honor -e and -n concurrently
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         40747
>Category:       bin
>Synopsis:       sh(1) does not honor -e and -n concurrently
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 18 19:20:01 PDT 2002
>Closed-Date:    Fri Jul 19 21:25:26 PDT 2002
>Last-Modified:  Fri Jul 19 21:25:26 PDT 2002
>Originator:     Eric van Gyzen
>Release:        FreeBSD 4.6-STABLE i386
>Organization:
>Environment:
System: FreeBSD trillian.vangyzen.net 4.6-STABLE FreeBSD 4.6-STABLE #3: Sun Jul 14 19:03:47 EDT 2002 vangyzen@trillian.vangyzen.net:/build/src/sys/compile/TRILLIAN i386

>Description:
    The sh(1) manpage claims that the "echo" builtin command accepts
    any combination of the -e and -n flags, but it actually accepts
    only one flag per invocation.

>How-To-Repeat:
    The following sh(1) command does not behave as documented:
	$ echo -en "\033]0;${HOST}\007"

>Fix:
    Following patch allows "-en" and "-ne" combinations.
    A more extensive patch to allow "-e -n" or "-n -e"
    is left as an exercise for the reader.

--- bin/sh/bltin/echo.c.orig	Thu Jul 18 21:39:13 2002
+++ bin/sh/bltin/echo.c	Thu Jul 18 21:40:22 2002
@@ -73,6 +73,12 @@
 			eflag++;
 #endif
 			ap++;
+		} else if (equal(p, "-ne") || equal(p, "-en")) {
+#ifndef eflag
+			eflag++;
+#endif
+			nflag++;
+			ap++;
 		}
 	}
 	while ((p = *ap++) != NULL) {

>Release-Note:
>Audit-Trail:

From: Maxim Maximov <mcsi@agava.com>
To: freebsd-gnats-submit@FreeBSD.org, esv@vangyzen.net
Cc:  
Subject: Re: bin/40747: sh(1) does not honor -e and -n concurrently
Date: Fri, 19 Jul 2002 18:30:25 +0400

 This patch to echo.c makes use of getopt:
 
 http://orimi-tech.spb.ru/~mcsi/echo.c.diff
 
 -- 
 Maxim Maximov
 System Administrator
 AGAVA Software (http://www.agava.com)
 
State-Changed-From-To: open->closed 
State-Changed-By: tjr 
State-Changed-When: Fri Jul 19 21:22:43 PDT 2002 
State-Changed-Why:  
This is the same problem that is described in bin/32935: 
http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/32935 
which I am about to deal with. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=40747 
>Unformatted:
