From owner-freebsd-current@FreeBSD.ORG Tue Aug 9 12:43:54 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D91B5106566C; Tue, 9 Aug 2011 12:43:54 +0000 (UTC) (envelope-from ttsestt@gmail.com) Received: from mail-pz0-f45.google.com (mail-pz0-f45.google.com [209.85.210.45]) by mx1.freebsd.org (Postfix) with ESMTP id ADF648FC0C; Tue, 9 Aug 2011 12:43:54 +0000 (UTC) Received: by pzk33 with SMTP id 33so5137832pzk.18 for ; Tue, 09 Aug 2011 05:43:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:user-agent:mime-version :content-type; bh=8anquQs3Q2Qzn1cgwEH8P7U//ywkHaLB0FUcihLk6hA=; b=HZqKU/KvVMehDTPrmg6IREoEzpbhXyV7NmV+asqTRBtB+PDQGd34OPXlvVa7V7qjNq cS9aF9hvN91/VBegarfbnWDfwuhmlROjijwuJa0v08tzV3giKJ6avV1ptZ5JhbnEKD5f vCDnC50XzpRCnF/cZeViN1b65GX1Ow9bcj44c= Received: by 10.142.13.3 with SMTP id 3mr6734069wfm.239.1312893834025; Tue, 09 Aug 2011 05:43:54 -0700 (PDT) Received: from localhost (tor-exit-router36-readme.formlessnetworking.net [199.48.147.36]) by mx.google.com with ESMTPS id b2sm971216wfe.15.2011.08.09.05.43.51 (version=SSLv3 cipher=OTHER); Tue, 09 Aug 2011 05:43:53 -0700 (PDT) From: Test Rat To: freebsd-current@freebsd.org Date: Tue, 09 Aug 2011 16:43:47 +0400 Message-ID: <86fwlaeovw.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain Cc: Gabor Kovesdan Subject: [bsdgrep] --exclude-dir doesn't work X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Aug 2011 12:43:54 -0000 It seems fnmatch(3) args were accidentally swapped. Try $ bsdgrep -Fr --exclude-dir '*.svn*' grep_ usr.bin/grep | bsdgrep -c svn 72 %% Index: usr.bin/grep/util.c =================================================================== --- usr.bin/grep/util.c (revision 224705) +++ usr.bin/grep/util.c (working copy) @@ -84,7 +84,7 @@ dir_matching(const char *dname) for (unsigned int i = 0; i < dpatterns; ++i) { if (dname != NULL && - fnmatch(dname, dpattern[i].pat, 0) == 0) { + fnmatch(dpattern[i].pat, dname, 0) == 0) { if (dpattern[i].mode == EXCL_PAT) return (false); else %%