From ca@sendmail.com Tue Aug  3 08:53:09 1999
Return-Path: <ca@sendmail.com>
Received: from katroo.Sendmail.COM (katroo.Sendmail.COM [206.189.75.90])
	by hub.freebsd.org (Postfix) with ESMTP id 54D9F152C7
	for <FreeBSD-gnats-submit@freebsd.org>; Tue,  3 Aug 1999 08:52:53 -0700 (PDT)
	(envelope-from ca@sendmail.com)
Received: from zable.Sendmail.COM (zable.Sendmail.COM [10.210.100.132])
	by katroo.Sendmail.COM (8.9.3/8.9.3) with ESMTP id IAA06498;
	Tue, 3 Aug 1999 08:36:18 -0700 (PDT)
Received: (from ca@localhost)
	by zable.Sendmail.COM (8.9.2.Alpha0/8.9.2.Alpha0) id IAA11408
	for ca; Tue, 3 Aug 1999 08:36:17 -0700 (PDT)
Message-Id: <199908031536.IAA11408@zable.Sendmail.COM>
Date: Tue, 3 Aug 1999 08:36:17 -0700 (PDT)
From: ca+freebsd@endmail.org
Sender: ca@sendmail.com
Reply-To: ca+freebsd@endmail.org
To: FreeBSD-gnats-submit@freebsd.org
Cc: ca+freebsd@endmail.org
Subject: m4: len(`') returns `'
X-Send-Pr-Version: 3.2

>Number:         12942
>Category:       bin
>Synopsis:       m4: len(`') returns `'
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gshapiro
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug  3 09:00:01 PDT 1999
>Closed-Date:    Sun Jun 10 10:53:08 PDT 2001
>Last-Modified:  Sun Jun 10 10:53:26 PDT 2001
>Originator:     Claus Assmann
>Release:        FreeBSD 3.2-STABLE i386
>Organization:
Endmail.ORG
>Environment:

standard installation of FreeBSD 3.2-STABLE i386
or FreeBSD 2.2.7-RELEASE i386

>Description:

the len function in /usr/bin/m4 returns an empty string
if given an empty string as argument instead of 0.


>How-To-Repeat:

$ echo 'len()' | m4

$ echo 'len()' | gm4
0

>Fix:
	
Patch (fixes this problem, side-effects unknown...)

--- eval.c	Mon Aug  2 21:53:42 1999
+++ /usr/src/usr.bin/m4/eval.c	Mon Sep  7 15:09:13 1998
@@ -97,7 +97,7 @@
   * have macro-or-builtin() type call. We adjust
   * argc to avoid further checking..
   */
-	if (argc == 3 && !*(argv[2]) && (td & ~STATIC) != LENGTYPE)
+	if (argc == 3 && !*(argv[2]))
 		argc--;
 
 	switch (td & ~STATIC) {

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->gshapiro 
Responsible-Changed-By: gshapiro 
Responsible-Changed-When: Tue Apr 24 14:34:06 PDT 2001 
Responsible-Changed-Why:  
An easy bug to fix. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=12942 
State-Changed-From-To: open->feedback 
State-Changed-By: gshapiro 
State-Changed-When: Mon May 28 20:33:05 PDT 2001 
State-Changed-Why:  
A fix has been committed to the HEAD (CURRENT).  This PR will be closed 
when it is committed to RELENG_4 (STABLE). 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=12942 
State-Changed-From-To: feedback->closed 
State-Changed-By: gshapiro 
State-Changed-When: Sun Jun 10 10:53:08 PDT 2001 
State-Changed-Why:  
The fix has been MFC'ed into RELENG_4 (-STABLE). 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=12942 
>Unformatted:
