Subject: bin/20470: find(1) doesn't implement -exec + (POSIX)
To: None <gnats-bugs@gnats.netbsd.org>
From: None <jhawk@mit.edu>
List: netbsd-bugs
Date: 02/22/2003 23:13:29
>Number:         20470
>Category:       bin
>Synopsis:       find(1) doesn't implement -exec + (POSIX)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    jhawk
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 22 20:14:00 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     John Hawkinson
>Release:        NetBSD 1.6_STABLE
>Organization:
	MIT
>Environment:
	
	
System: NetBSD lsc.mit.edu 1.6_STABLE NetBSD 1.6_STABLE (GENERICDEBUG) #1: Thu Jan 9 12:38:32 EST 2003 root@lsc.mit.edu:/u1/usr/src/sys/arch/i386/compile/GENERICDEBUG i386
Architecture: i386
Machine: i386
>Description:
	Our find does not implement -exec +. From POSIX 1003.1-2001:

-exec  utility_name  [argument ...] ;
-exec  utility_name  [argument ...]   {} +
...
If the primary expression is punctuated by a plus sign, the
primary shall always evaluate as true, and the pathnames for
which the primary is evaluated shall be aggregated into
sets. The utility utility_name shall be invoked once for
each set of aggregated pathnames. Each invocation shall
begin after the last pathname in the set is aggregated, and
shall be completed before the find utility exits and before
the first pathname in the next set (if any) is aggregated
for this primary, but it is
...

>How-To-Repeat:
...mourn for gnu find's -printf, and realize that this can be used
to solve some of the same problems...
>Fix:
	Simple matter of programming.
>Release-Note:
>Audit-Trail:
>Unformatted: