From owner-cvs-all Fri Sep 20 18:28:44 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9F6D137B404; Fri, 20 Sep 2002 18:28:42 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0CE1343E81; Fri, 20 Sep 2002 18:28:42 -0700 (PDT) (envelope-from wollman@FreeBSD.org) Received: from freefall.freebsd.org (wollman@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g8L1SfCo071318; Fri, 20 Sep 2002 18:28:41 -0700 (PDT) (envelope-from wollman@freefall.freebsd.org) Received: (from wollman@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g8L1SfDG071317; Fri, 20 Sep 2002 18:28:41 -0700 (PDT) Message-Id: <200209210128.g8L1SfDG071317@freefall.freebsd.org> From: Garrett Wollman Date: Fri, 20 Sep 2002 18:28:41 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/bin/cp cp.c src/bin/ls ls.c src/include fts.h src/lib/libc/gen fts.3 fts.c src/usr.bin/find find.c src/usr.sbin/ctm/ctm_dequeue ctm_dequeue.c src/usr.sbin/mtree create.c src/usr.sbin/pkg_install/lib match.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG wollman 2002/09/20 18:28:41 PDT Modified files: bin/cp cp.c bin/ls ls.c include fts.h lib/libc/gen fts.3 fts.c usr.bin/find find.c usr.sbin/ctm/ctm_dequeue ctm_dequeue.c usr.sbin/mtree create.c usr.sbin/pkg_install/lib match.c Log: Make the threatened fts(3) ABI fix. FTSENT now avoids the use of the struct hack, thereby allowing future extensions to the structure (e.g., for extended attributes) without rebreaking the ABI. FTSENT now contains a pointer to the parent stream, which fts_compar() can then take advantage of, avoiding the undefined behavior previously warned about. As a consequence of this change, the prototype of the comparison function passed to fts_open() has changed to reflect the required amount of constness for its use. All callers in the tree are updated to use the correct prototype. Comparison functions can now make use of the new parent pointer to access the new stream-specific private data pointer, which is intended to assist creation of reentrant library routines which use fts(3) internally. Not objected to in spirit by: -arch Revision Changes Path 1.41 +2 -2 src/bin/cp/cp.c 1.66 +2 -2 src/bin/ls/ls.c 1.7 +10 -3 src/include/fts.h 1.14 +41 -6 src/lib/libc/gen/fts.3 1.21 +68 -14 src/lib/libc/gen/fts.c 1.15 +2 -2 src/usr.bin/find/find.c 1.11 +3 -3 src/usr.sbin/ctm/ctm_dequeue/ctm_dequeue.c 1.27 +2 -2 src/usr.sbin/mtree/create.c 1.13 +2 -2 src/usr.sbin/pkg_install/lib/match.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message